Merge commit '79ae1e630b476889c251fc905687a3831b43ab5e'
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 22 Nov 2015 17:41:27 +0000 (17:41 +0000)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 22 Nov 2015 17:41:27 +0000 (17:41 +0000)
* commit '79ae1e630b476889c251fc905687a3831b43ab5e':
  avcodec: Define side data type for fallback track

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
1  2 
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h

diff --cc doc/APIchanges
@@@ -14,16 -12,23 +14,20 @@@ libavutil:     2015-08-2
  
  
  API changes, most recent first:
 -
 -2015-11-xx - xxxxxxx - lavc 57.9.0 - avcodec.h
++2015-11-xx - xxxxxxx - lavc 57.16.0 - avcodec.h
+   Add AV_PKT_DATA_FALLBACK_TRACK for making fallback associations between
+   streams.
 -2015-11-xx - xxxxxxx - lavf 57.1.0 - avformat.h
 +2015-11-xx - xxxxxxx - lavf 57.19.100 - avformat.h
    Add av_stream_new_side_data().
  
 -2015-11-xx - xxxxxxx - lavu 55.3.0 - xtea.h
 +2015-11-xx - xxxxxxx - lavu 55.8.100 - xtea.h
      Add av_xtea_le_init and av_xtea_le_crypt
  
 -2015-11-xx - xxxxxxx - lavfi 6.1.0 - avfilter.h
 -    Add a frame_rate field to AVFilterLink
 -
 -2015-xx-xx - xxxxxxx - lavc 57.6.0 - avcodec.h
 +2015-11-18 - lavu 55.7.100 - mem.h
 +  Add av_fast_mallocz()
  
 -2015-xx-xx - lavc 57.7.0 - avcodec.h
 +2015-10-29 - lavc 57.12.100 / 57.8.0 - avcodec.h
    xxxxxx - Deprecate av_free_packet(). Use av_packet_unref() as replacement,
             it resets the packet in a more consistent way.
    xxxxxx - Deprecate av_dup_packet(), it is a no-op for most cases.
@@@ -1273,84 -1124,21 +1273,92 @@@ enum AVPacketSideDataType 
      AV_PKT_DATA_AUDIO_SERVICE_TYPE,
  
      /**
 -     * This side data contains an integer value representing the quality
 -     * factor of the compressed frame. Allowed range is between 1 (good)
 -     * and FF_LAMBDA_MAX (bad).
 +     * This side data contains quality related information from the encoder.
 +     * @code
 +     * u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad).
 +     * u8    picture type
 +     * u8    error count
 +     * u16   reserved
 +     * u64le[error count] sum of squared differences between encoder in and output
 +     * @endcode
       */
 -    AV_PKT_DATA_QUALITY_FACTOR,
 +    AV_PKT_DATA_QUALITY_STATS,
  
      /**
+      * This side data contains an integer value representing the stream index
+      * of a "fallback" track.  A fallback track indicates an alternate
+      * track to use when the current track can not be decoded for some reason.
+      * e.g. no decoder available for codec.
+      */
+     AV_PKT_DATA_FALLBACK_TRACK,
++
++    /**
 +     * Recommmends skipping the specified number of samples
 +     * @code
 +     * u32le number of samples to skip from start of this packet
 +     * u32le number of samples to skip from end of this packet
 +     * u8    reason for start skip
 +     * u8    reason for end   skip (0=padding silence, 1=convergence)
 +     * @endcode
 +     */
 +    AV_PKT_DATA_SKIP_SAMPLES=70,
 +
 +    /**
 +     * An AV_PKT_DATA_JP_DUALMONO side data packet indicates that
 +     * the packet may contain "dual mono" audio specific to Japanese DTV
 +     * and if it is true, recommends only the selected channel to be used.
 +     * @code
 +     * u8    selected channels (0=mail/left, 1=sub/right, 2=both)
 +     * @endcode
 +     */
 +    AV_PKT_DATA_JP_DUALMONO,
 +
 +    /**
 +     * A list of zero terminated key/value strings. There is no end marker for
 +     * the list, so it is required to rely on the side data size to stop.
 +     */
 +    AV_PKT_DATA_STRINGS_METADATA,
 +
 +    /**
 +     * Subtitle event position
 +     * @code
 +     * u32le x1
 +     * u32le y1
 +     * u32le x2
 +     * u32le y2
 +     * @endcode
 +     */
 +    AV_PKT_DATA_SUBTITLE_POSITION,
 +
 +    /**
 +     * Data found in BlockAdditional element of matroska container. There is
 +     * no end marker for the data, so it is required to rely on the side data
 +     * size to recognize the end. 8 byte id (as found in BlockAddId) followed
 +     * by data.
 +     */
 +    AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
 +
 +    /**
 +     * The optional first identifier line of a WebVTT cue.
 +     */
 +    AV_PKT_DATA_WEBVTT_IDENTIFIER,
 +
 +    /**
 +     * The optional settings (rendering instructions) that immediately
 +     * follow the timestamp specifier of a WebVTT cue.
 +     */
 +    AV_PKT_DATA_WEBVTT_SETTINGS,
 +
 +    /**
 +     * A list of zero terminated key/value strings. There is no end marker for
 +     * the list, so it is required to rely on the side data size to stop. This
 +     * side data includes updated metadata which appeared in the stream.
 +     */
 +    AV_PKT_DATA_METADATA_UPDATE,
  };
  
 +#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED
 +
  typedef struct AVPacketSideData {
      uint8_t *data;
      int      size;
@@@ -28,9 -28,9 +28,9 @@@
  
  #include "libavutil/version.h"
  
 -#define LIBAVCODEC_VERSION_MAJOR 57
 -#define LIBAVCODEC_VERSION_MINOR  9
 -#define LIBAVCODEC_VERSION_MICRO  0
 +#define LIBAVCODEC_VERSION_MAJOR  57
- #define LIBAVCODEC_VERSION_MINOR  15
++#define LIBAVCODEC_VERSION_MINOR  16
 +#define LIBAVCODEC_VERSION_MICRO 100
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \