Commit 187d7197 authored by Vittorio Giovara's avatar Vittorio Giovara

h264: Support AV_PKT_DATA_NEW_EXTRADATA

parent 75872d77
...@@ -1004,6 +1004,8 @@ static int h264_decode_frame(AVCodecContext *avctx, void *data, ...@@ -1004,6 +1004,8 @@ static int h264_decode_frame(AVCodecContext *avctx, void *data,
AVFrame *pict = data; AVFrame *pict = data;
int buf_index = 0; int buf_index = 0;
int ret; int ret;
const uint8_t *new_extradata;
int new_extradata_size;
h->flags = avctx->flags; h->flags = avctx->flags;
h->setup_finished = 0; h->setup_finished = 0;
...@@ -1042,6 +1044,17 @@ out: ...@@ -1042,6 +1044,17 @@ out:
return buf_index; return buf_index;
} }
new_extradata_size = 0;
new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,
&new_extradata_size);
if (new_extradata_size > 0 && new_extradata) {
ret = ff_h264_decode_extradata(new_extradata, new_extradata_size,
&h->ps, &h->is_avc, &h->nal_length_size,
avctx->err_recognition, avctx);
if (ret < 0)
return ret;
}
buf_index = decode_nal_units(h, buf, buf_size); buf_index = decode_nal_units(h, buf, buf_size);
if (buf_index < 0) if (buf_index < 0)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment