Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 12 Oct 2011 03:33:52 +0000 (05:33 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 12 Oct 2011 03:40:57 +0000 (05:40 +0200)
* qatar/master: (23 commits)
  fix AC3ENC_OPT_MODE_ON/OFF
  h264: fix HRD parameters parsing
  prores: implement multithreading.
  prores: idct sse2/sse4 optimizations.
  swscale: use aligned move for storage into temporary buffer.
  prores: extract idct into its own dspcontext and merge with put_pixels.
  h264: fix invalid shifts in init_cavlc_level_tab()
  intfloat_readwrite: fix signed addition overflows
  mov: do not misreport empty stts
  mov: cosmetics, fix for and if spacing
  id3v2: fix NULL pointer dereference
  mov: read album_artist atom
  mov: fix disc/track numbers and totals
  doc: fix references to obsolete presets directories for avconv/ffmpeg
  flashsv: return more meaningful error value
  flashsv: fix typo in av_log() message
  smacker: validate channels and sample format.
  smacker: check buffer size before reading output size
  smacker: validate number of channels
  smacker: Separate audio flags from sample rates in smacker demuxer.
  ...

Conflicts:
cmdutils.h
doc/ffmpeg.texi
libavcodec/Makefile
libavcodec/motion_est_template.c
libavformat/id3v2.c
libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
22 files changed:
1  2 
libavcodec/Makefile
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/flashsv.c
libavcodec/golomb.h
libavcodec/h264_cavlc.c
libavcodec/h264_ps.c
libavcodec/motion_est.c
libavcodec/motion_est_template.c
libavcodec/mpegvideo.h
libavcodec/proresdec_lgpl.c
libavcodec/simple_idct.c
libavcodec/simple_idct.h
libavcodec/sipr.c
libavcodec/smacker.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libavformat/id3v2.c
libavformat/mov.c
libavformat/smacker.c
libavutil/intfloat_readwrite.c
libswscale/x86/scale.asm

@@@ -313,8 -295,7 +313,8 @@@ OBJS-$(CONFIG_PNG_DECODER)             
  OBJS-$(CONFIG_PNG_ENCODER)             += png.o pngenc.o
  OBJS-$(CONFIG_PPM_DECODER)             += pnmdec.o pnm.o
  OBJS-$(CONFIG_PPM_ENCODER)             += pnmenc.o pnm.o
 -OBJS-$(CONFIG_PRORES_DECODER)          += proresdec.o proresdsp.o
 +OBJS-$(CONFIG_PRORES_GPL_DECODER)      += proresdec_gpl.o
- OBJS-$(CONFIG_PRORES_LGPL_DECODER)     += proresdec_lgpl.o
++OBJS-$(CONFIG_PRORES_LGPL_DECODER)     += proresdec_lgpl.o proresdsp.o
  OBJS-$(CONFIG_PTX_DECODER)             += ptx.o
  OBJS-$(CONFIG_QCELP_DECODER)           += qcelpdec.o celp_math.o         \
                                            celp_filters.o acelp_vectors.o \
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -570,7 -539,9 +571,8 @@@ int ff_h264_decode_picture_parameter_se
      memcpy(pps->scaling_matrix4, h->sps_buffers[pps->sps_id]->scaling_matrix4, sizeof(pps->scaling_matrix4));
      memcpy(pps->scaling_matrix8, h->sps_buffers[pps->sps_id]->scaling_matrix8, sizeof(pps->scaling_matrix8));
  
 -    if (bits_left && (bits_left > 8 ||
 -                      show_bits(&s->gb, bits_left) != 1 << (bits_left - 1))) {
+     bits_left = bit_length - get_bits_count(&s->gb);
 +    if(get_bits_count(&s->gb) < bit_length){
          pps->transform_8x8_mode= get_bits1(&s->gb);
          decode_scaling_matrices(h, h->sps_buffers[pps->sps_id], pps, 0, pps->scaling_matrix4, pps->scaling_matrix8);
          pps->chroma_qp_index_offset[1]= get_se_golomb(&s->gb); //second_chroma_qp_index_offset
Simple merge
@@@ -89,9 -89,8 +89,9 @@@ static int hpel_motion_search(MpegEncCo
          const int b= score_map[(index+(1<<ME_MAP_SHIFT))&(ME_MAP_SIZE-1)]
                       + (mv_penalty[bx   - pred_x] + mv_penalty[by+2 - pred_y])*c->penalty_factor;
  
-         int key;
-         int map_generation= c->map_generation;
 +#if 1
+         unsigned key;
+         unsigned map_generation= c->map_generation;
  #ifndef NDEBUG
          uint32_t *map= c->map;
  #endif
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -34,6 -33,8 +34,8 @@@ MMX-OBJS-$(CONFIG_ENCODERS)            
  YASM-OBJS-$(CONFIG_ENCODERS)           += x86/dsputilenc_yasm.o
  MMX-OBJS-$(CONFIG_GPL)                 += x86/idct_mmx.o
  MMX-OBJS-$(CONFIG_LPC)                 += x86/lpc_mmx.o
 -YASM-OBJS-$(CONFIG_PRORES_DECODER)     += x86/proresdsp.o
 -MMX-OBJS-$(CONFIG_PRORES_DECODER)      += x86/proresdsp-init.o
++YASM-OBJS-$(CONFIG_PRORES_LGPL_DECODER)     += x86/proresdsp.o
++MMX-OBJS-$(CONFIG_PRORES_LGPL_DECODER)      += x86/proresdsp-init.o
  MMX-OBJS-$(CONFIG_DWT)                 += x86/snowdsp_mmx.o
  MMX-OBJS-$(CONFIG_VC1_DECODER)         += x86/vc1dsp_mmx.o
  YASM-OBJS-$(CONFIG_VP3_DECODER)        += x86/vp3dsp.o
Simple merge
Simple merge
@@@ -766,15 -768,11 +771,15 @@@ static int mov_read_extradata(MOVContex
      if (c->fc->nb_streams < 1) // will happen with jp2 files
          return 0;
      st= c->fc->streams[c->fc->nb_streams-1];
 +
 +    if (st->codec->codec_id != codec_id)
 +        return 0; /* unexpected codec_id - don't mess with extradata */
 +
      size= (uint64_t)st->codec->extradata_size + atom.size + 8 + FF_INPUT_BUFFER_PADDING_SIZE;
-     if(size > INT_MAX || (uint64_t)atom.size > INT_MAX)
+     if (size > INT_MAX || (uint64_t)atom.size > INT_MAX)
          return -1;
      buf= av_realloc(st->codec->extradata, size);
-     if(!buf)
+     if (!buf)
          return -1;
      st->codec->extradata= buf;
      buf+= st->codec->extradata_size;
Simple merge
Simple merge
Simple merge