[FFmpeg-devel] [PATCH] libavcodec/h264dec: export block type in H.264
Yongle Lin
yongle.lin.94 at gmail.com
Thu Jul 16 00:05:30 EEST 2020
---
libavcodec/h264dec.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 1e2ca68449..b3de5290d0 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -816,6 +816,20 @@ static int h264_export_enc_params(AVFrame *f, H264Picture *p)
b->h = 16;
b->delta_qp = p->qscale_table[mb_xy] - par->qp;
+
+ int mb_type = p->mb_type[mb_xy];
+ if (IS_PCM(mb_type))
+ b->flags |= AV_VIDEO_ENC_BLOCK_INTRA;
+ if (IS_SKIP(mb_type))
+ b->flags |= AV_VIDEO_ENC_BLOCK_SKIP;
+ if (!USES_LIST(mb_type, 1))
+ b->ref[0] = p->ref_index[0];
+ else if (!USES_LIST(mb_type, 0))
+ b->ref[0] = p->ref_index[1];
+ else {
+ b->ref[0] = p->ref_index[0];
+ b->ref[1] = p->ref_index[1];
+ }
}
return 0;
--
2.27.0.389.gc38d7665816-goog
More information about the ffmpeg-devel
mailing list