Implement support for CODECAPI_AVLowLatencyMode property, which is useful for live streaming use cases (and cannot be achieved by selecting any of the low latency "scenario" encoder presets alone).
Co-authored-by: Conn O'Griofa <connogri...@gmail.com> Signed-off-by: Cameron Gutman <aicomman...@gmail.com> --- libavcodec/mfenc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c index 30531fe3e8..e84ce7bde0 100644 --- a/libavcodec/mfenc.c +++ b/libavcodec/mfenc.c @@ -64,6 +64,7 @@ typedef struct MFContext { int opt_enc_quality; int opt_enc_scenario; int opt_enc_hw; + int opt_enc_lowlatency; AVD3D11VADeviceContext* device_hwctx; } MFContext; @@ -866,6 +867,9 @@ static int mf_encv_output_adjust(AVCodecContext *avctx, IMFMediaType *type) if (c->opt_enc_scenario >= 0) ICodecAPI_SetValue(c->codec_api, &ff_CODECAPI_AVScenarioInfo, FF_VAL_VT_UI4(c->opt_enc_scenario)); + + if (c->opt_enc_lowlatency) + ICodecAPI_SetValue(c->codec_api, &ff_CODECAPI_AVLowLatencyMode, FF_VAL_VT_UI4(1)); } return 0; @@ -1445,6 +1449,7 @@ static const AVOption venc_opts[] = { {"quality", "Quality", OFFSET(opt_enc_quality), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 100, VE}, {"hw_encoding", "Force hardware encoding", OFFSET(opt_enc_hw), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, + {"low_latency", "Low latency mode", OFFSET(opt_enc_lowlatency), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, {NULL} }; -- 2.50.1.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".