[FFmpeg-cvslog] avcodec/openh264enc.c: generate IDR frame in response to I frame pict_type

Valery Kot git at videolan.org
Thu Apr 5 22:00:47 EEST 2018


ffmpeg | branch: master | Valery Kot <valery.kot at 4cinsights.com> | Fri Mar 16 14:50:34 2018 +0100| [67fd8df4197e50720223f9715594a1fa31f48b54] | committer: James Almer

avcodec/openh264enc.c: generate IDR frame in response to I frame pict_type

Signed-off-by: Valery Kot <valery.kot at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=67fd8df4197e50720223f9715594a1fa31f48b54
---

 libavcodec/libopenh264enc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
index fdadb101f5..83c3f0ce20 100644
--- a/libavcodec/libopenh264enc.c
+++ b/libavcodec/libopenh264enc.c
@@ -246,6 +246,10 @@ static int svc_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
     sp.iPicWidth  = avctx->width;
     sp.iPicHeight = avctx->height;
 
+    if (frame->pict_type == AV_PICTURE_TYPE_I) {
+        (*s->encoder)->ForceIntraFrame(s->encoder, true);
+    }
+
     encoded = (*s->encoder)->EncodeFrame(s->encoder, &sp, &fbi);
     if (encoded != cmResultSuccess) {
         av_log(avctx, AV_LOG_ERROR, "EncodeFrame failed\n");



More information about the ffmpeg-cvslog mailing list