From 7693ba0a0eecdcdba71b7fbd9a4a12d1ba7b82aa Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 29 Mar 2015 14:15:41 +0200 Subject: hevc: export stream parameters from extradata This allows the callers to have a hint of the probable stream parameters without actually decoding anything. --- libavcodec/hevc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libavcodec/hevc.c') 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; } -- cgit v1.2.3