From 9723d439fdebe7c9fd3819785173fc28509c434b Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 28 Jul 2015 22:59:42 -0700 Subject: libvpxenc: report pict_type/error via side-data Reviewed-by: Michael Niedermayer Signed-off-by: James Zern --- libavcodec/libvpxenc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libavcodec/libvpxenc.c') diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 1a1d55f8f5..3db617d9f2 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -690,6 +690,7 @@ static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame, int ret = ff_alloc_packet2(avctx, pkt, cx_frame->sz, 0); uint8_t *side_data; if (ret >= 0) { + int pict_type; memcpy(pkt->data, cx_frame->buf, pkt->size); pkt->pts = pkt->dts = cx_frame->pts; #if FF_API_CODED_FRAME @@ -700,20 +701,25 @@ FF_ENABLE_DEPRECATION_WARNINGS #endif if (!!(cx_frame->flags & VPX_FRAME_IS_KEY)) { + pict_type = AV_PICTURE_TYPE_I; #if FF_API_CODED_FRAME FF_DISABLE_DEPRECATION_WARNINGS - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; + avctx->coded_frame->pict_type = pict_type; FF_ENABLE_DEPRECATION_WARNINGS #endif pkt->flags |= AV_PKT_FLAG_KEY; } else { + pict_type = AV_PICTURE_TYPE_P; #if FF_API_CODED_FRAME FF_DISABLE_DEPRECATION_WARNINGS - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P; + avctx->coded_frame->pict_type = pict_type; FF_ENABLE_DEPRECATION_WARNINGS #endif } + ff_side_data_set_encoder_stats(pkt, 0, cx_frame->sse + 1, + cx_frame->have_sse ? 3 : 0, pict_type); + if (cx_frame->have_sse) { int i; /* Beware of the Y/U/V/all order! */ -- cgit v1.2.3