Thank you for your review, and point out the details.
Actually, I have also considered this issue.
I see that some keys are used directly, some are used by compatibility.
I will use compat_key instead, and submit a new patch.


------------------ ???????? ------------------
??????:                                                                         
                                               ""zhilizhao(??????)""            
                                                                        
<quinkbl...@foxmail.com&gt;;
????????:&nbsp;2023??5??19??(??????) ????11:34
??????:&nbsp;"FFmpeg development discussions and 
patches"<ffmpeg-devel@ffmpeg.org&gt;;
????:&nbsp;"??????"<839789...@qq.com&gt;;
????:&nbsp;Re: [FFmpeg-devel] [PATCH] avcodec/videotoolboxenc: add low-latency 
encoding





&gt; On May 19, 2023, at 11:17, xufuji456 <839789...@qq.com&gt; wrote:
&gt; 
&gt; When using low-latency mode, it eliminates frame reordering
&gt; and follows a one-in-one-out encoding mode
&gt; 
&gt; Signed-off-by: xufuji456 <839789...@qq.com&gt;
&gt; ---
&gt; libavcodec/videotoolboxenc.c | 11 +++++++++++
&gt; 1 file changed, 11 insertions(+)
&gt; 
&gt; diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
&gt; index c6f22723d6..ae1ef32b2d 100644
&gt; --- a/libavcodec/videotoolboxenc.c
&gt; +++ b/libavcodec/videotoolboxenc.c
&gt; @@ -1441,6 +1441,17 @@ static int 
vtenc_create_encoder(AVCodecContext&nbsp;&nbsp; *avctx,
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&gt;&nbsp;&nbsp;&nbsp;&nbsp; }
&gt; 
&gt; +&nbsp;&nbsp;&nbsp; // low-latency mode: eliminate frame reordering, 
follow a one-in-one-out encoding mode
&gt; +&nbsp;&nbsp;&nbsp; if ((avctx-&gt;flags &amp; AV_CODEC_FLAG_LOW_DELAY) 
&amp;&amp; avctx-&gt;codec_id == AV_CODEC_ID_H264) {
&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status = 
VTSessionSetProperty(vtctx-&gt;session,
&gt; 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 kVTVideoEncoderSpecification_EnableLowLatencyRateControl,
&gt; 
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 kCFBooleanTrue);

Please use compat_keys in case of 
kVTVideoEncoderSpecification_EnableLowLatencyRateControl
isn??t available.

&gt; +
&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (status) {
&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
av_log(avctx, AV_LOG_ERROR, "Error setting low latency property: %d\n", status);
&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&gt; +&nbsp;&nbsp;&nbsp; }
&gt; +
&gt;&nbsp;&nbsp;&nbsp;&nbsp; status = 
VTCompressionSessionPrepareToEncodeFrames(vtctx-&gt;session);
&gt;&nbsp;&nbsp;&nbsp;&nbsp; if (status) {
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; av_log(avctx, 
AV_LOG_ERROR, "Error: cannot prepare encoder: %d\n", status);
&gt; -- 
&gt; 2.32.0 (Apple Git-132)
&gt; 
&gt; _______________________________________________
&gt; ffmpeg-devel mailing list
&gt; ffmpeg-devel@ffmpeg.org
&gt; https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
&gt; 
&gt; To unsubscribe, visit link above, or email
&gt; ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
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".

Reply via email to