Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 20 Nov 2011 01:46:06 +0000 (02:46 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 20 Nov 2011 01:46:06 +0000 (02:46 +0100)
* qatar/master:
  swscale: Fix stack alignment for SSE
  avcodec: move some AVCodecContext fields to an internal struct.
  avcodec: use av_opt_set() instead of deprecated av_set_string3()
  avcodec: fix some const warnings
  avcodec: remove pointless AVOption, internal_buffer_count
  imgutils: Fix illegal read.

Conflicts:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
14 files changed:
1  2 
doc/APIchanges
libavcodec/avcodec.h
libavcodec/h264.c
libavcodec/internal.h
libavcodec/mimic.c
libavcodec/mpegvideo.c
libavcodec/options.c
libavcodec/pthread.c
libavcodec/utils.c
libavcodec/version.h
libavcodec/vp3.c
libavcodec/vp8.c
libavutil/imgutils.c
libswscale/swscale_unscaled.c

diff --cc doc/APIchanges
@@@ -13,12 -13,14 +13,20 @@@ libavutil:   2011-04-1
  
  API changes, most recent first:
  
 +2011-11-03 - 96949da - lavu 51.23.0
 +  Add av_strcasecmp() and av_strncasecmp() to avstring.h.
 +
 +2011-10-20 - b35e9e1 - lavu 51.22.0
 +  Add av_strtok() to avstring.h.
 +
+ 2011-xx-xx - xxxxxxx - lavc 53.21.0
+   Move some AVCodecContext fields to a new private struct, AVCodecInternal,
+   which is accessed from a new field, AVCodecContext.internal.
+   - fields moved:
+       AVCodecContext.internal_buffer       --> AVCodecInternal.buffer
+       AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
+       AVCodecContext.is_copy               --> AVCodecInternal.is_copy
  2011-11-13 - lavf 53.15.0
    New interrupt callback API, allowing per-AVFormatContext/AVIOContext
    interrupt callbacks.
@@@ -1174,46 -1154,10 +1174,48 @@@ typedef struct AVFrame 
       * - decoding: Set by libavcodec.
       */
      void *thread_opaque;
 +
 +    /**
 +     * frame timestamp estimated using various heuristics, in stream time base
 +     * - encoding: unused
 +     * - decoding: set by libavcodec, read by user.
 +     */
 +    int64_t best_effort_timestamp;
 +
 +    /**
 +     * reordered pos from the last AVPacket that has been input into the decoder
 +     * - encoding: unused
 +     * - decoding: Read by user.
 +     */
 +    int64_t pkt_pos;
 +
 +    /**
 +     * reordered sample aspect ratio for the video frame, 0/1 if unknown\unspecified
 +     * - encoding: unused
 +     * - decoding: Read by user.
 +     */
 +    AVRational sample_aspect_ratio;
 +
 +    /**
 +     * width and height of the video frame
 +     * - encoding: unused
 +     * - decoding: Read by user.
 +     */
 +    int width, height;
 +
 +    /**
 +     * format of the frame, -1 if unknown or unset
 +     * It should be cast to the corresponding enum (enum PixelFormat
 +     * for video, enum AVSampleFormat for audio)
 +     * - encoding: unused
 +     * - decoding: Read by user.
 +     */
 +    int format;
 +
  } AVFrame;
  
+ struct AVCodecInternal;
  /**
   * main external API structure.
   * New fields can be added to the end with minor version bumps.
@@@ -3009,20 -2956,13 +3019,28 @@@ typedef struct AVCodecContext 
  #define AV_EF_BUFFER    (1<<2)
  #define AV_EF_EXPLODE   (1<<3)
  
 +#define AV_EF_CAREFUL    (1<<16)
 +#define AV_EF_COMPLIANT  (1<<17)
 +#define AV_EF_AGGRESSIVE (1<<18)
 +
      /**
+      * Private context used for internal data.
+      *
+      * Unlike priv_data, this is not codec-specific. It is used in general
+      * libavcodec functions.
+      */
+     struct AVCodecInternal *internal;
++
++    /**
 +     * Current statistics for PTS correction.
 +     * - decoding: maintained and used by libavcodec, not intended to be used by user apps
 +     * - encoding: unused
 +     */
 +    int64_t pts_correction_num_faulty_pts; /// Number of incorrect PTS values so far
 +    int64_t pts_correction_num_faulty_dts; /// Number of incorrect DTS values so far
 +    int64_t pts_correction_last_pts;       /// PTS of the last frame
 +    int64_t pts_correction_last_dts;       /// DTS of the last frame
 +
  } AVCodecContext;
  
  /**
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -383,23 -352,15 +369,24 @@@ int avcodec_default_get_buffer(AVCodecC
          pic->data[i]= buf->data[i];
          pic->linesize[i]= buf->linesize[i];
      }
-     s->internal_buffer_count++;
+     avci->buffer_count++;
  
 -    if(s->pkt) pic->pkt_pts= s->pkt->pts;
 -    else       pic->pkt_pts= AV_NOPTS_VALUE;
 +    if (s->pkt) {
 +        pic->pkt_pts = s->pkt->pts;
 +        pic->pkt_pos = s->pkt->pos;
 +    } else {
 +        pic->pkt_pts = AV_NOPTS_VALUE;
 +        pic->pkt_pos = -1;
 +    }
      pic->reordered_opaque= s->reordered_opaque;
 +    pic->sample_aspect_ratio = s->sample_aspect_ratio;
 +    pic->width               = s->width;
 +    pic->height              = s->height;
 +    pic->format              = s->pix_fmt;
  
      if(s->debug&FF_DEBUG_BUFFERS)
-         av_log(s, AV_LOG_DEBUG, "default_get_buffer called on pic %p, %d buffers used\n", pic, s->internal_buffer_count);
+         av_log(s, AV_LOG_DEBUG, "default_get_buffer called on pic %p, %d "
+                "buffers used\n", pic, avci->buffer_count);
  
      return 0;
  }
@@@ -21,8 -21,8 +21,8 @@@
  #define AVCODEC_VERSION_H
  
  #define LIBAVCODEC_VERSION_MAJOR 53
- #define LIBAVCODEC_VERSION_MINOR 35
- #define LIBAVCODEC_VERSION_MICRO  1
 -#define LIBAVCODEC_VERSION_MINOR 21
++#define LIBAVCODEC_VERSION_MINOR 36
+ #define LIBAVCODEC_VERSION_MICRO  0
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \
Simple merge
Simple merge
Simple merge
Simple merge