[FFmpeg-devel] [PATCH v1 1/2] lavc/qsvdec: Allow decoders to export crop information
fei.w.wang at intel.com
fei.w.wang at intel.com
Mon May 20 05:05:52 EEST 2024
From: Fei Wang <fei.w.wang at intel.com>
Signed-off-by: Fei Wang <fei.w.wang at intel.com>
---
libavcodec/qsvdec.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index a51ddace62..12cf630593 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -859,6 +859,10 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q,
else
frame->flags &= ~AV_FRAME_FLAG_KEY;
}
+ frame->crop_left = outsurf->Info.CropX;
+ frame->crop_top = outsurf->Info.CropY;
+ frame->crop_right = outsurf->Info.Width - (outsurf->Info.CropX + outsurf->Info.CropW);
+ frame->crop_bottom = outsurf->Info.Height - (outsurf->Info.CropY + outsurf->Info.CropH);
/* update the surface properties */
if (avctx->pix_fmt == AV_PIX_FMT_QSV)
@@ -1148,7 +1152,7 @@ const FFCodec ff_##x##_qsv_decoder = { \
.p.priv_class = &x##_qsv_class, \
.hw_configs = qsv_hw_configs, \
.p.wrapper_name = "qsv", \
- .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, \
+ .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING, \
}; \
#define DEFINE_QSV_DECODER(x, X, bsf_name) DEFINE_QSV_DECODER_WITH_OPTION(x, X, bsf_name, options)
--
2.25.1
More information about the ffmpeg-devel
mailing list