Merge commit '84adab333cddeefc3cfd843089dee23f58bd372c'

* commit '84adab333cddeefc3cfd843089dee23f58bd372c':
  lavc: add stream-global packet side data

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
Hendrik Leppkes 2015-12-17 13:18:18 +01:00
commit a7d5b9f1c3
3 changed files with 20 additions and 3 deletions

View File

@ -14,8 +14,9 @@ libavutil: 2015-08-28
API changes, most recent first:
2015-12-17 - xxxxxxx - lavc 57.18.100 / 57.11.0 - avcodec.h
Add av_packet_add_side_data().
2015-12-17 - lavc 57.18.100 / 57.11.0 - avcodec.h
xxxxxxx - Add av_packet_add_side_data().
xxxxxxx - Add AVCodecContext.coded_side_data.
2015-12-11 - xxxxxxx - lavf 57.20.100 - avformat.h
Add av_program_add_stream_index()

View File

@ -3301,6 +3301,16 @@ typedef struct AVCodecContext {
unsigned properties;
#define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
#define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
/**
* Additional data associated with the entire coded stream.
*
* - decoding: unused
* - encoding: may be set by libavcodec after avcodec_open2().
*/
AVPacketSideData *coded_side_data;
int nb_coded_side_data;
} AVCodecContext;
AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);

View File

@ -2507,12 +2507,13 @@ void avsubtitle_free(AVSubtitle *sub)
av_cold int avcodec_close(AVCodecContext *avctx)
{
int i;
if (!avctx)
return 0;
if (avcodec_is_open(avctx)) {
FramePool *pool = avctx->internal->pool;
int i;
if (CONFIG_FRAME_THREAD_ENCODER &&
avctx->internal->frame_thread_encoder && avctx->thread_count > 1) {
ff_frame_thread_encoder_free(avctx);
@ -2535,6 +2536,11 @@ av_cold int avcodec_close(AVCodecContext *avctx)
av_freep(&avctx->internal);
}
for (i = 0; i < avctx->nb_coded_side_data; i++)
av_freep(&avctx->coded_side_data[i].data);
av_freep(&avctx->coded_side_data);
avctx->nb_coded_side_data = 0;
if (avctx->priv_data && avctx->codec && avctx->codec->priv_class)
av_opt_free(avctx->priv_data);
av_opt_free(avctx);