Merge commit '3f111804eb5c603a344706b84b7164cbf7b4e0df'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 15 Jan 2013 13:57:57 +0000 (14:57 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 15 Jan 2013 13:57:57 +0000 (14:57 +0100)
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
  libvpx: make vp8 and vp9 selectable
  libvpx: support vp9
  nut: support vp9 tag
  mkv: support vp9 tag
  rtpdec: Make variables that should wrap unsigned

Conflicts:
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavformat/matroska.c
libavformat/nut.c
libavformat/rtpdec.h

diff --cc configure
+++ b/configure
@@@ -214,18 -192,12 +214,18 @@@ External library support
    --enable-libpulse        enable Pulseaudio input via libpulse [no]
    --enable-librtmp         enable RTMP[E] support via librtmp [no]
    --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no]
 +  --enable-libsoxr         enable Include libsoxr resampling [no]
    --enable-libspeex        enable Speex de/encoding via libspeex [no]
 +  --enable-libstagefright-h264  enable H.264 decoding via libstagefright [no]
    --enable-libtheora       enable Theora encoding via libtheora [no]
 +  --enable-libtwolame      enable MP2 encoding via libtwolame [no]
 +  --enable-libutvideo      enable Ut Video encoding and decoding via libutvideo [no]
 +  --enable-libv4l2         enable libv4l2/v4l-utils [no]
    --enable-libvo-aacenc    enable AAC encoding via libvo-aacenc [no]
    --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]
 -  --enable-libvorbis       enable Vorbis encoding via libvorbis [no]
 +  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,
 +                           native implementation exists [no]
-   --enable-libvpx          enable VP8 de/encoding via libvpx [no]
+   --enable-libvpx          enable VP8 and VP9 de/encoding via libvpx [no]
    --enable-libx264         enable H.264 encoding via x264 [no]
    --enable-libxavs         enable AVS encoding via xavs [no]
    --enable-libxvid         enable Xvid encoding via xvidcore,
@@@ -1849,21 -1656,17 +1849,23 @@@ libschroedinger_decoder_deps="libschroe
  libschroedinger_encoder_deps="libschroedinger"
  libspeex_decoder_deps="libspeex"
  libspeex_encoder_deps="libspeex"
 +libstagefright_h264_decoder_deps="libstagefright_h264"
  libtheora_encoder_deps="libtheora"
 +libtwolame_encoder_deps="libtwolame"
  libvo_aacenc_encoder_deps="libvo_aacenc"
  libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
 +libvorbis_decoder_deps="libvorbis"
  libvorbis_encoder_deps="libvorbis"
- libvpx_decoder_deps="libvpx"
- libvpx_encoder_deps="libvpx"
+ libvpx_vp8_decoder_deps="libvpx"
+ libvpx_vp8_encoder_deps="libvpx"
+ libvpx_vp9_decoder_deps="libvpx"
+ libvpx_vp9_encoder_deps="libvpx"
  libx264_encoder_deps="libx264"
 +libx264rgb_encoder_deps="libx264"
  libxavs_encoder_deps="libxavs"
  libxvid_encoder_deps="libxvid"
 +libutvideo_decoder_deps="libutvideo"
 +libutvideo_encoder_deps="libutvideo"
  
  # demuxers / muxers
  ac3_demuxer_select="ac3_parser"
@@@ -3863,20 -3487,17 +3865,22 @@@ enabled libvo_aacenc && require libvo_a
  enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
  enabled libvorbis  && require  libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
  enabled libvpx     && {
-     enabled libvpx_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx ||
-                                 die "ERROR: libvpx decoder must be installed and version must be >=0.9.1"; }
-     enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VP8E_SET_MAX_INTRA_BITRATE_PCT" -lvpx ||
-                                 die "ERROR: libvpx encoder version must be >=0.9.7"; } }
+     enabled libvpx_vp8_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx ||
+                                 die "ERROR: libvpx decoder version must be >=0.9.1"; }
 -    enabled libvpx_vp8_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx ||
 -                                die "ERROR: libvpx encoder version must be >=0.9.6"; }
++    enabled libvpx_vp8_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VP8E_SET_MAX_INTRA_BITRATE_PCT" -lvpx ||
++                                die "ERROR: libvpx encoder version must be >=0.9.7"; }
+     enabled libvpx_vp9_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx" -lvpx || disable libvpx_vp9_decoder;  }
+     enabled libvpx_vp9_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx" -lvpx || disable libvpx_vp9_encoder; } }
  enabled libx264    && require  libx264 x264.h x264_encoder_encode -lx264 &&
                        { check_cpp_condition x264.h "X264_BUILD >= 118" ||
 -                        die "ERROR: libx264 version must be >= 0.118."; }
 +                        die "ERROR: libx264 must be installed and version must be >= 0.118."; }
  enabled libxavs    && require  libxavs xavs.h xavs_encoder_encode -lxavs
  enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
 +enabled openal     && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
 +                        check_lib 'AL/al.h' alGetError "${al_libs}" && break; done } ||
 +                        die "ERROR: openal not found"; } &&
 +                      { check_cpp_condition "AL/al.h" "defined(AL_VERSION_1_1)" ||
 +                        die "ERROR: openal must be installed and version must be 1.1 or compatible"; }
  enabled openssl    && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
                          check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
                          check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
@@@ -691,19 -589,15 +691,21 @@@ OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER
                                               libschroedinger.o
  OBJS-$(CONFIG_LIBSPEEX_DECODER)           += libspeexdec.o
  OBJS-$(CONFIG_LIBSPEEX_ENCODER)           += libspeexenc.o audio_frame_queue.o
 +OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
  OBJS-$(CONFIG_LIBTHEORA_ENCODER)          += libtheoraenc.o
 -OBJS-$(CONFIG_LIBVO_AACENC_ENCODER)       += libvo-aacenc.o mpeg4audio.o
 +OBJS-$(CONFIG_LIBTWOLAME_ENCODER)         += libtwolame.o
 +OBJS-$(CONFIG_LIBUTVIDEO_DECODER)         += libutvideodec.o
 +OBJS-$(CONFIG_LIBUTVIDEO_ENCODER)         += libutvideoenc.o
 +OBJS-$(CONFIG_LIBVO_AACENC_ENCODER)       += libvo-aacenc.o mpeg4audio.o \
 +                                             audio_frame_queue.o
  OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER)     += libvo-amrwbenc.o
 -OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbis.o audio_frame_queue.o \
 -                                             vorbis_data.o vorbis_parser.o
 +OBJS-$(CONFIG_LIBVORBIS_DECODER)          += libvorbisdec.o
 +OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbisenc.o audio_frame_queue.o \
 +                                             vorbis_data.o vorbis_parser.o xiph.o
- OBJS-$(CONFIG_LIBVPX_DECODER)             += libvpxdec.o
- OBJS-$(CONFIG_LIBVPX_ENCODER)             += libvpxenc.o
+ OBJS-$(CONFIG_LIBVPX_VP8_DECODER)         += libvpxdec.o
+ OBJS-$(CONFIG_LIBVPX_VP8_ENCODER)         += libvpxenc.o
+ OBJS-$(CONFIG_LIBVPX_VP9_DECODER)         += libvpxdec.o
+ OBJS-$(CONFIG_LIBVPX_VP9_ENCODER)         += libvpxenc.o
  OBJS-$(CONFIG_LIBX264_ENCODER)            += libx264.o
  OBJS-$(CONFIG_LIBXAVS_ENCODER)            += libxavs.o
  OBJS-$(CONFIG_LIBXVID_ENCODER)            += libxvid.o
@@@ -481,24 -422,15 +481,25 @@@ void avcodec_register_all(void
      REGISTER_ENCDEC (LIBOPUS,           libopus);
      REGISTER_ENCDEC (LIBSCHROEDINGER,   libschroedinger);
      REGISTER_ENCDEC (LIBSPEEX,          libspeex);
 +    REGISTER_DECODER(LIBSTAGEFRIGHT_H264, libstagefright_h264);
      REGISTER_ENCODER(LIBTHEORA,         libtheora);
 +    REGISTER_ENCODER(LIBTWOLAME,        libtwolame);
 +    REGISTER_ENCDEC (LIBUTVIDEO,        libutvideo);
      REGISTER_ENCODER(LIBVO_AACENC,      libvo_aacenc);
      REGISTER_ENCODER(LIBVO_AMRWBENC,    libvo_amrwbenc);
 -    REGISTER_ENCODER(LIBVORBIS,         libvorbis);
 +    REGISTER_ENCDEC (LIBVORBIS,         libvorbis);
-     REGISTER_ENCDEC (LIBVPX,            libvpx);
+     REGISTER_ENCDEC (LIBVPX_VP8,        libvpx_vp8);
+     REGISTER_ENCDEC (LIBVPX_VP9,        libvpx_vp9);
      REGISTER_ENCODER(LIBX264,           libx264);
 +    REGISTER_ENCODER(LIBX264RGB,        libx264rgb);
      REGISTER_ENCODER(LIBXAVS,           libxavs);
      REGISTER_ENCODER(LIBXVID,           libxvid);
 +    REGISTER_ENCODER(LIBAACPLUS,        libaacplus);
 +
 +    /* text */
 +    REGISTER_DECODER(BINTEXT,           bintext);
 +    REGISTER_DECODER(XBIN,              xbin);
 +    REGISTER_DECODER(IDF,               idf);
  
      /* parsers */
      REGISTER_PARSER(AAC,                aac);
@@@ -267,28 -267,7 +267,29 @@@ enum AVCodecID 
      AV_CODEC_ID_MTS2,
      AV_CODEC_ID_CLLC,
      AV_CODEC_ID_MSS2,
+     AV_CODEC_ID_VP9,
 +    AV_CODEC_ID_BRENDER_PIX= MKBETAG('B','P','I','X'),
 +    AV_CODEC_ID_Y41P       = MKBETAG('Y','4','1','P'),
 +    AV_CODEC_ID_ESCAPE130  = MKBETAG('E','1','3','0'),
 +    AV_CODEC_ID_EXR        = MKBETAG('0','E','X','R'),
 +    AV_CODEC_ID_AVRP       = MKBETAG('A','V','R','P'),
 +
 +    AV_CODEC_ID_012V       = MKBETAG('0','1','2','V'),
 +    AV_CODEC_ID_G2M        = MKBETAG( 0 ,'G','2','M'),
 +    AV_CODEC_ID_AVUI       = MKBETAG('A','V','U','I'),
 +    AV_CODEC_ID_AYUV       = MKBETAG('A','Y','U','V'),
 +    AV_CODEC_ID_TARGA_Y216 = MKBETAG('T','2','1','6'),
 +    AV_CODEC_ID_V308       = MKBETAG('V','3','0','8'),
 +    AV_CODEC_ID_V408       = MKBETAG('V','4','0','8'),
 +    AV_CODEC_ID_YUV4       = MKBETAG('Y','U','V','4'),
 +    AV_CODEC_ID_SANM       = MKBETAG('S','A','N','M'),
 +    AV_CODEC_ID_PAF_VIDEO  = MKBETAG('P','A','F','V'),
 +    AV_CODEC_ID_AVRN       = MKBETAG('A','V','R','n'),
 +    AV_CODEC_ID_CPIA       = MKBETAG('C','P','I','A'),
 +    AV_CODEC_ID_XFACE      = MKBETAG('X','F','A','C'),
 +    AV_CODEC_ID_SGIRLE     = MKBETAG('S','G','I','R'),
 +    AV_CODEC_ID_MVC1       = MKBETAG('M','V','C','1'),
 +    AV_CODEC_ID_MVC2       = MKBETAG('M','V','C','2'),
  
      /* various PCM "codecs" */
      AV_CODEC_ID_FIRST_AUDIO = 0x10000,     ///< A dummy id pointing at the start of audio codecs
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge