summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2018-08-31 12:25:40 +0300
committerMartin Storsjö <martin@martin.st>2018-08-31 13:25:25 +0300
commit83678dbbae64ad8c501e0c732c1117e642c25dae (patch)
tree648ec5a25899a6b1d0303257b796fd3d32c0a548
parent8c76bfacf663ff71cee5264a74d0f9c86addd325 (diff)
libopenh264dec: Export the decoded profile and level in AVCodecContext
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavcodec/libopenh264dec.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 5990a72ff9..60e4b028ec 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -95,6 +95,9 @@ static int svc_decode_frame(AVCodecContext *avctx, void *data,
int linesize[3];
AVFrame *avframe = data;
DECODING_STATE state;
+#if OPENH264_VER_AT_LEAST(1, 7)
+ int opt;
+#endif
if (!avpkt->data) {
#if OPENH264_VER_AT_LEAST(1, 9)
@@ -136,6 +139,12 @@ FF_DISABLE_DEPRECATION_WARNINGS
avframe->pkt_pts = avpkt->pts;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
+#if OPENH264_VER_AT_LEAST(1, 7)
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_PROFILE, &opt);
+ avctx->profile = opt;
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_LEVEL, &opt);
+ avctx->level = opt;
+#endif
*got_frame = 1;
return avpkt->size;