Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 15 Feb 2012 00:38:34 +0000 (01:38 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 15 Feb 2012 00:52:14 +0000 (01:52 +0100)
* qatar/master: (21 commits)
  CDXL demuxer and decoder
  hls: Re-add legacy applehttp name to preserve interface compatibility.
  hlsproto: Rename the functions and context
  hlsproto: Encourage users to try the hls demuxer instead of the proto
  doc: Move the hls protocol section into the right place
  libavformat: Rename the applehttp protocol to hls
  hls: Rename the functions and context
  libavformat: Rename the applehttp demuxer to hls
  rtpdec: Support H263 in RFC 2190 format
  rv30: check block type validity
  ttadec: CRC checking
  movenc: Support muxing VC1
  avconv: Don't split out inline sequence headers when stream copying VC1
  rv34: handle size changes during frame multithreading
  rv40: prevent undefined signed overflow in rv40_loop_filter()
  rv34: use AVERROR return values in ff_rv34_decode_frame()
  rv34: use uint16_t for RV34DecContext.deblock_coefs
  librtmp: Add "lib" prefix to librtmp URLProtocol declarations.
  movenc: Use defines instead of hardcoded numbers for RTCP types
  smjpegdec: implement seeking
  ...

Conflicts:
Changelog
doc/general.texi
libavcodec/avcodec.h
libavcodec/rv30.c
libavcodec/tta.c
libavcodec/version.h
libavformat/Makefile
libavformat/allformats.c
libavformat/version.h
libswscale/x86/swscale_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
24 files changed:
1  2 
Changelog
configure
doc/general.texi
doc/protocols.texi
ffmpeg.c
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/rv34.c
libavcodec/rv34.h
libavcodec/rv40.c
libavcodec/tta.c
libavcodec/version.h
libavformat/Makefile
libavformat/allformats.c
libavformat/hls.c
libavformat/hlsproto.c
libavformat/librtmp.c
libavformat/movenc.c
libavformat/movenc.h
libavformat/movenchint.c
libavformat/rtpdec.c
libavformat/rtpdec_formats.h
libavformat/version.h

diff --cc Changelog
+++ b/Changelog
@@@ -1,57 -1,35 +1,58 @@@
  Entries are sorted chronologically from oldest to youngest within each release,
  releases are sorted from youngest to oldest.
  
 -version <next>:
 -
 -- XWD encoder and decoder
 -- Support for fragmentation in the mov/mp4 muxer
 -- ISMV (Smooth Streaming) muxer
 +version next:
 +- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
 +- setfield filter
+ - CDXL demuxer and decoder
  
  
 -version 0.8:
 -
 +version 0.10:
 +- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
 +         CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
 +         CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
 +         CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
 +- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
 +- SBaGen (SBG) binaural beats script demuxer
 +- OpenMG Audio muxer
 +- Timecode extraction in DV and MOV
 +- thumbnail video filter
 +- XML output in ffprobe
 +- asplit audio filter
 +- tinterlace video filter
 +- astreamsync audio filter
 +- amerge audio filter
 +- ISMV (Smooth Streaming) muxer
  - GSM audio parser
  - SMJPEG muxer
 -
 -
 -version 0.8_beta2:
 -
 +- XWD encoder and decoder
  - Automatic thread count based on detection number of (available) CPU cores
 -- Deprecate libpostproc. If desired, the switch --enable-postproc will
 -  enable it but it may be removed in a later Libav release.
 +- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
 +- ffprobe -show_error option
 +- Avid 1:1 10-bit RGB Packer codec
 +- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
 +- yuv4 libquicktime packed 4:2:0 encoder and decoder
 +- ffprobe -show_frames option
 +- silencedetect audio filter
 +- ffprobe -show_program_version, -show_library_versions, -show_versions options
  - rv34: frame-level multi-threading
  - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
 +- Improved PGS subtitle decoder
 +- dumpgraph option to lavfi device
 +- r210 and r10k encoders
 +- ffwavesynth decoder
 +- aviocat tool
 +- ffeval tool
  
  
 -version 0.8_beta1:
 +version 0.9:
  
 +- openal input device added
 +- boxblur filter added
  - BWF muxer
  - Flash Screen Video 2 decoder
 -- ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
 -- ffmpeg deprecated, added avconv, which is almost the same for now, except
 +- lavfi input device added
 +- added avconv, which is almost the same for now, except
  for a few incompatible changes in the options, which will hopefully make them
  easier to use. The changes are:
      * The options placement is now strictly enforced! While in theory the
diff --cc configure
Simple merge
@@@ -143,7 -131,9 +143,9 @@@ library
      @tab Multimedia format used by Delphine Software games.
  @item CD+G                      @tab   @tab X
      @tab Video format used by CD+G karaoke disks
 -@item Core Audio Format         @tab   @tab X
+ @item Commodore CDXL            @tab   @tab X
+     @tab Amiga CD video format
 +@item Core Audio Format         @tab X @tab X
      @tab Apple Core Audio Format
  @item CRC testing format        @tab X @tab
  @item Creative Voice            @tab X @tab X
Simple merge
diff --cc ffmpeg.c
Simple merge
Simple merge
Simple merge
@@@ -246,15 -244,7 +246,16 @@@ enum CodecID 
      CODEC_ID_DXTORY,
      CODEC_ID_V410,
      CODEC_ID_XWD,
+     CODEC_ID_CDXL,
 +    CODEC_ID_Y41P       = MKBETAG('Y','4','1','P'),
 +    CODEC_ID_ESCAPE130  = MKBETAG('E','1','3','0'),
 +    CODEC_ID_AVRP       = MKBETAG('A','V','R','P'),
 +
 +    CODEC_ID_G2M        = MKBETAG( 0 ,'G','2','M'),
 +    CODEC_ID_AYUV       = MKBETAG('A','Y','U','V'),
 +    CODEC_ID_V308       = MKBETAG('V','3','0','8'),
 +    CODEC_ID_V408       = MKBETAG('V','4','0','8'),
 +    CODEC_ID_YUV4       = MKBETAG('Y','U','V','4'),
  
      /* various PCM "codecs" */
      CODEC_ID_FIRST_AUDIO = 0x10000,     ///< A dummy id pointing at the start of audio codecs
Simple merge
Simple merge
Simple merge
@@@ -188,16 -190,20 +190,30 @@@ static int tta_get_unary(GetBitContext 
      return ret;
  }
  
 +static const int64_t tta_channel_layouts[7] = {
 +    AV_CH_LAYOUT_STEREO,
 +    AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY,
 +    AV_CH_LAYOUT_QUAD,
 +    0,
 +    AV_CH_LAYOUT_5POINT1_BACK,
 +    AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER,
 +    AV_CH_LAYOUT_7POINT1_WIDE
 +};
 +
+ static int tta_check_crc(TTAContext *s, const uint8_t *buf, int buf_size)
+ {
+     uint32_t crc, CRC;
+     CRC = AV_RL32(buf + buf_size);
+     crc = av_crc(s->crc_table, 0xFFFFFFFFU, buf, buf_size);
+     if (CRC != (crc ^ 0xFFFFFFFFU)) {
+         av_log(s->avctx, AV_LOG_ERROR, "CRC error\n");
+         return AVERROR_INVALIDDATA;
+     }
+     return 0;
+ }
  static av_cold int tta_decode_init(AVCodecContext * avctx)
  {
      TTAContext *s = avctx->priv_data;
@@@ -21,8 -21,8 +21,8 @@@
  #define AVCODEC_VERSION_H
  
  #define LIBAVCODEC_VERSION_MAJOR 54
--#define LIBAVCODEC_VERSION_MINOR  1
 -#define LIBAVCODEC_VERSION_MICRO  0
++#define LIBAVCODEC_VERSION_MINOR  2
 +#define LIBAVCODEC_VERSION_MICRO 100
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \
@@@ -114,9 -103,8 +114,10 @@@ OBJS-$(CONFIG_H263_DEMUXER
  OBJS-$(CONFIG_H263_MUXER)                += rawenc.o
  OBJS-$(CONFIG_H264_DEMUXER)              += h264dec.o rawdec.o
  OBJS-$(CONFIG_H264_MUXER)                += rawenc.o
+ OBJS-$(CONFIG_HLS_DEMUXER)               += hls.o
 +OBJS-$(CONFIG_ICO_DEMUXER)               += icodec.o
  OBJS-$(CONFIG_IDCIN_DEMUXER)             += idcin.o
 +OBJS-$(CONFIG_IDF_DEMUXER)               += bintext.o
  OBJS-$(CONFIG_IFF_DEMUXER)               += iff.o
  OBJS-$(CONFIG_IMAGE2_DEMUXER)            += img2.o
  OBJS-$(CONFIG_IMAGE2_MUXER)              += img2.o
@@@ -341,15 -323,14 +343,16 @@@ OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER
  OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER)      += yuv4mpeg.o
  
  # external libraries
 +OBJS-$(CONFIG_LIBMODPLUG_DEMUXER)        += libmodplug.o
  OBJS-$(CONFIG_LIBNUT_DEMUXER)            += libnut.o
  OBJS-$(CONFIG_LIBNUT_MUXER)              += libnut.o
+ OBJS-$(CONFIG_LIBRTMP)                   += librtmp.o
  
  # protocols I/O
  OBJS+= avio.o aviobuf.o
  
- OBJS-$(CONFIG_APPLEHTTP_PROTOCOL)        += applehttpproto.o
+ OBJS-$(CONFIG_APPLEHTTP_PROTOCOL)        += hlsproto.o
 +OBJS-$(CONFIG_CACHE_PROTOCOL)            += cache.o
  OBJS-$(CONFIG_CONCAT_PROTOCOL)           += concat.o
  OBJS-$(CONFIG_CRYPTO_PROTOCOL)           += crypto.o
  OBJS-$(CONFIG_FILE_PROTOCOL)             += file.o
@@@ -72,14 -70,13 +72,15 @@@ void av_register_all(void
      REGISTER_DEMUXER  (AVS, avs);
      REGISTER_DEMUXER  (BETHSOFTVID, bethsoftvid);
      REGISTER_DEMUXER  (BFI, bfi);
 +    REGISTER_DEMUXER  (BINTEXT, bintext);
      REGISTER_DEMUXER  (BINK, bink);
 +    REGISTER_MUXDEMUX (BIT, bit);
      REGISTER_DEMUXER  (BMV, bmv);
      REGISTER_DEMUXER  (C93, c93);
 -    REGISTER_DEMUXER  (CAF, caf);
 +    REGISTER_MUXDEMUX (CAF, caf);
      REGISTER_MUXDEMUX (CAVSVIDEO, cavsvideo);
      REGISTER_DEMUXER  (CDG, cdg);
+     REGISTER_DEMUXER  (CDXL, cdxl);
      REGISTER_MUXER    (CRC, crc);
      REGISTER_MUXDEMUX (DAUD, daud);
      REGISTER_DEMUXER  (DFA, dfa);
      REGISTER_MUXDEMUX (H261, h261);
      REGISTER_MUXDEMUX (H263, h263);
      REGISTER_MUXDEMUX (H264, h264);
+     REGISTER_DEMUXER  (HLS, hls);
 +    REGISTER_DEMUXER  (ICO, ico);
      REGISTER_DEMUXER  (IDCIN, idcin);
 +    REGISTER_DEMUXER  (IDF, idf);
      REGISTER_DEMUXER  (IFF, iff);
      REGISTER_MUXDEMUX (IMAGE2, image2);
      REGISTER_MUXDEMUX (IMAGE2PIPE, image2pipe);
      REGISTER_DEMUXER  (YOP, yop);
      REGISTER_MUXDEMUX (YUV4MPEGPIPE, yuv4mpegpipe);
  
-     REGISTER_MUXDEMUX (LIBNUT, libnut);
 +    /* external libraries */
 +#if CONFIG_LIBMODPLUG
 +    REGISTER_DEMUXER  (LIBMODPLUG, libmodplug);
 +#endif
      /* protocols */
+ #if FF_API_APPLEHTTP_PROTO
      REGISTER_PROTOCOL (APPLEHTTP, applehttp);
+ #endif
 +    REGISTER_PROTOCOL (CACHE, cache);
      REGISTER_PROTOCOL (CONCAT, concat);
      REGISTER_PROTOCOL (CRYPTO, crypto);
      REGISTER_PROTOCOL (FILE, file);
@@@ -100,10 -100,8 +100,10 @@@ typedef struct HLSContext 
      int end_of_segment;
      int first_packet;
      int64_t first_timestamp;
 +    int64_t seek_timestamp;
 +    int seek_flags;
      AVIOInterruptCB *interrupt_callback;
- } AppleHTTPContext;
+ } HLSContext;
  
  static int read_chomp_line(AVIOContext *s, char *buf, int maxlen)
  {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -30,8 -30,8 +30,8 @@@
  #include "libavutil/avutil.h"
  
  #define LIBAVFORMAT_VERSION_MAJOR 54
- #define LIBAVFORMAT_VERSION_MINOR  0
+ #define LIBAVFORMAT_VERSION_MINOR  1
 -#define LIBAVFORMAT_VERSION_MICRO  0
 +#define LIBAVFORMAT_VERSION_MICRO 100
  
  #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                 LIBAVFORMAT_VERSION_MINOR, \