Discussion:
[PATCH] libopenh264dec: Export the decoded profile and level in AVCodecContext
(too old to reply)
Martin Storsjö
2018-08-31 09:25:59 UTC
Permalink
---
libavcodec/libopenh264dec.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 5990a72ff9..7e9e66743a 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -95,6 +95,7 @@ static int svc_decode_frame(AVCodecContext *avctx, void *data,
int linesize[3];
AVFrame *avframe = data;
DECODING_STATE state;
+ int opt;

if (!avpkt->data) {
#if OPENH264_VER_AT_LEAST(1, 9)
@@ -136,6 +137,10 @@ FF_DISABLE_DEPRECATION_WARNINGS
avframe->pkt_pts = avpkt->pts;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_PROFILE, &opt);
+ avctx->profile = opt;
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_LEVEL, &opt);
+ avctx->level = opt;

*got_frame = 1;
return avpkt->size;
--
2.15.2 (Apple Git-101.1)
Vittorio Giovara
2018-08-31 09:44:55 UTC
Permalink
Post by Martin Storsjö
---
libavcodec/libopenh264dec.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 5990a72ff9..7e9e66743a 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -95,6 +95,7 @@ static int svc_decode_frame(AVCodecContext *avctx, void *data,
int linesize[3];
AVFrame *avframe = data;
DECODING_STATE state;
+ int opt;
if (!avpkt->data) {
#if OPENH264_VER_AT_LEAST(1, 9)
@@ -136,6 +137,10 @@ FF_DISABLE_DEPRECATION_WARNINGS
avframe->pkt_pts = avpkt->pts;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_PROFILE, &opt);
+ avctx->profile = opt;
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_LEVEL, &opt);
+ avctx->level = opt;
*got_frame = 1;
return avpkt->size;
--
lgtm
--
Vittorio
Martin Storsjö
2018-08-31 10:30:36 UTC
Permalink
Post by Martin Storsjö
---
libavcodec/libopenh264dec.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 5990a72ff9..7e9e66743a 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -95,6 +95,7 @@ static int svc_decode_frame(AVCodecContext *avctx, void *data,
int linesize[3];
AVFrame *avframe = data;
DECODING_STATE state;
+ int opt;
if (!avpkt->data) {
#if OPENH264_VER_AT_LEAST(1, 9)
@@ -136,6 +137,10 @@ FF_DISABLE_DEPRECATION_WARNINGS
avframe->pkt_pts = avpkt->pts;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_PROFILE, &opt);
+ avctx->profile = opt;
+ (*s->decoder)->GetOption(s->decoder, DECODER_OPTION_LEVEL, &opt);
+ avctx->level = opt;
*got_frame = 1;
return avpkt->size;
--
lgtm
Thanks - pushed with appropriate openh264 version ifdefs added.

// Martin

Loading...