Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 7 Dec 2012 15:29:07 +0000 (16:29 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 7 Dec 2012 15:29:07 +0000 (16:29 +0100)
* qatar/master:
  h264: add a pointer for weighted prediction temporary buffer

Conflicts:
libavcodec/h264.c
libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/h264.c
libavcodec/h264.h

@@@ -1214,11 -1166,6 +1212,8 @@@ static int decode_update_thread_context
          }
          context_init(h);
  
-         /* frame_start may not be called for the next thread (if it's decoding
-          * a bottom field) so this has to be allocated here */
-         h->s.obmc_scratchpad = av_malloc(16 * 6 * s->linesize);
 +        }
 +
          for (i = 0; i < 2; i++) {
              h->rbsp_buffer[i]      = NULL;
              h->rbsp_buffer_size[i] = 0;
@@@ -2642,6 -2562,6 +2643,7 @@@ static int decode_slice_header(H264Cont
                     "Could not allocate memory for h264\n");
              return AVERROR(ENOMEM);
          }
++        h->bipred_scratchpad = NULL;
  
          if (!HAVE_THREADS || !(s->avctx->active_thread_type & FF_THREAD_SLICE)) {
              if (context_init(h) < 0) {
@@@ -595,17 -578,10 +595,18 @@@ typedef struct H264Context 
      int initial_cpb_removal_delay[32];  ///< Initial timestamps for CPBs
  
      int cur_chroma_format_idc;
+     uint8_t *bipred_scratchpad;
 +
 +    int16_t slice_row[MAX_SLICES]; ///< to detect when MAX_SLICES is too low
 +
 +    int sync;                      ///< did we had a keyframe or recovery point
 +
 +    uint8_t parse_history[4];
 +    int parse_history_count;
 +    int parse_last_mb;
  } H264Context;
  
 -extern const uint8_t ff_h264_chroma_qp[3][QP_MAX_NUM + 1]; ///< One chroma qp table for each supported bit depth (8, 9, 10).
 +extern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1]; ///< One chroma qp table for each possible bit depth (8-14).
  extern const uint16_t ff_h264_mb_sizes[4];
  
  /**