OSDN Git Service

Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 18 May 2011 03:42:42 +0000 (05:42 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 18 May 2011 03:42:42 +0000 (05:42 +0200)
* qatar/master:
  Fix compilation of iirfilter-test.
  libx264: handle closed GOP codec flag
  lavf: remove duplicate assignment in avformat_alloc_context.
  lavf: use designated initializers for AVClasses.
  flvdec: clenup debug code
  asfdec: fix possible overread on broken files.
  asfdec: do not fall back to binary/generic search
  asfdec: reindent after previous commit c7bd5ed
  asfdec: fallback to binary search internally
  mpegaudio: add _fixed suffix to some names
  Modify x86util.asm to ease transitioning to 10-bit H.264 assembly.
  dct: build dct32 as separate object files
  qdm2: include correct header for rdft

Conflicts:
ffpresets/libx264-fast.ffpreset
ffpresets/libx264-fast_firstpass.ffpreset
ffpresets/libx264-faster.ffpreset
ffpresets/libx264-faster_firstpass.ffpreset
ffpresets/libx264-medium.ffpreset
ffpresets/libx264-medium_firstpass.ffpreset
ffpresets/libx264-placebo.ffpreset
ffpresets/libx264-placebo_firstpass.ffpreset
ffpresets/libx264-slow.ffpreset
ffpresets/libx264-slow_firstpass.ffpreset
ffpresets/libx264-slower.ffpreset
ffpresets/libx264-slower_firstpass.ffpreset
ffpresets/libx264-superfast.ffpreset
ffpresets/libx264-superfast_firstpass.ffpreset
ffpresets/libx264-ultrafast.ffpreset
ffpresets/libx264-ultrafast_firstpass.ffpreset
ffpresets/libx264-veryfast.ffpreset
ffpresets/libx264-veryfast_firstpass.ffpreset
ffpresets/libx264-veryslow.ffpreset
ffpresets/libx264-veryslow_firstpass.ffpreset
libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
20 files changed:
1  2 
configure
libavcodec/Makefile
libavcodec/dct.c
libavcodec/dct32.c
libavcodec/iirfilter.c
libavcodec/libx264.c
libavcodec/mpc.c
libavcodec/mpegaudio.h
libavcodec/mpegaudio_tablegen.c
libavcodec/mpegaudio_tablegen.h
libavcodec/mpegaudiodec.c
libavcodec/qdm2.c
libavcodec/x86/dsputilenc_yasm.asm
libavcodec/x86/h264_idct.asm
libavcodec/x86/vp8dsp.asm
libavcodec/x86/x86util.asm
libavformat/asfdec.c
libavformat/avformat.h
libavformat/flvdec.c
libavformat/utils.c

diff --cc configure
+++ b/configure
@@@ -2924,11 -2888,11 +2924,11 @@@ enabled libvorbis  && require  libvorbi
  enabled libvpx     && {
      enabled libvpx_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_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx ||
 -                                die "ERROR: libvpx encoder version must be >=0.9.1"; } }
 +    enabled libvpx_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 libx264    && require  libx264 x264.h x264_encoder_encode -lx264 &&
-                       { check_cpp_condition x264.h "X264_BUILD >= 99" ||
-                         die "ERROR: libx264 version must be >= 0.99."; }
+                       { check_cpp_condition x264.h "X264_BUILD >= 115" ||
+                         die "ERROR: libx264 version must be >= 0.115."; }
  enabled libxavs    && require  libxavs xavs.h xavs_encoder_encode -lxavs
  enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
  enabled mlib       && require  mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
@@@ -26,9 -26,8 +26,9 @@@ OBJS = allcodecs.
  # parts needed for many different codecs
  OBJS-$(CONFIG_AANDCT)                  += aandcttab.o
  OBJS-$(CONFIG_AC3DSP)                  += ac3dsp.o
 +OBJS-$(CONFIG_CRYSTALHD)               += crystalhd.o
  OBJS-$(CONFIG_ENCODERS)                += faandct.o jfdctfst.o jfdctint.o
- OBJS-$(CONFIG_DCT)                     += dct.o
+ OBJS-$(CONFIG_DCT)                     += dct.o dct32_fixed.o dct32_float.o
  OBJS-$(CONFIG_DWT)                     += dwt.o
  OBJS-$(CONFIG_DXVA2)                   += dxva2.o
  FFT-OBJS-$(CONFIG_HARDCODED_TABLES)    += cos_tables.o cos_fixed_tables.o
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -842,13 -850,12 +842,16 @@@ static int asf_read_frame_header(AVForm
          av_log(s, AV_LOG_ERROR, "unexpected packet_replic_size of %d\n", asf->packet_replic_size);
          return -1;
      }
 +    if (rsize > asf->packet_size_left) {
 +        av_log(s, AV_LOG_ERROR, "packet_replic_size is invalid\n");
 +        return -1;
 +    }
      if (asf->packet_flags & 0x01) {
          DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal
-         if(asf->packet_frag_size > asf->packet_size_left - rsize){
+         if (rsize > asf->packet_size_left) {
+             av_log(s, AV_LOG_ERROR, "packet_replic_size is invalid\n");
+             return -1;
+         } else if(asf->packet_frag_size > asf->packet_size_left - rsize){
              if (asf->packet_frag_size > asf->packet_size_left - rsize + asf->packet_padsize) {
                  av_log(s, AV_LOG_ERROR, "packet_frag_size is invalid (%d-%d)\n", asf->packet_size_left, rsize);
                  return -1;
Simple merge
@@@ -375,8 -387,8 +375,8 @@@ static int flv_read_packet(AVFormatCont
      size = avio_rb24(s->pb);
      dts = avio_rb24(s->pb);
      dts |= avio_r8(s->pb) << 24;
//    av_log(s, AV_LOG_DEBUG, "type:%d, size:%d, dts:%d\n", type, size, dts);
    av_dlog(s, "type:%d, size:%d, dts:%"PRId64"\n", type, size, dts);
 -    if (s->pb->eof_reached)
 +    if (url_feof(s->pb))
          return AVERROR_EOF;
      avio_skip(s->pb, 3); /* stream id, always 0 */
      flags = 0;
Simple merge