diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 7b2b38225f..4c06fb8d62 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -3138,7 +3138,7 @@ static int hevc_decode_extradata(HEVCContext *s) { AVCodecContext *avctx = s->avctx; GetByteContext gb; - int ret; + int ret, i; bytestream2_init(&gb, avctx->extradata, avctx->extradata_size); @@ -3195,6 +3195,16 @@ static int hevc_decode_extradata(HEVCContext *s) if (ret < 0) return ret; } + + /* export stream parameters from the first SPS */ + for (i = 0; i < FF_ARRAY_ELEMS(s->sps_list); i++) { + if (s->sps_list[i]) { + const HEVCSPS *sps = (const HEVCSPS*)s->sps_list[i]->data; + export_stream_params(s->avctx, s, sps); + break; + } + } + return 0; }