Thank you for your review, James.
I will use AV_CODEC_FLAG_LOW_DELAY flag instead, and submit a new patch.


------------------ Original ------------------
From:                                                                           
                                             "FFmpeg development discussions 
and patches"                                                                    
                <jamr...@gmail.com&gt;;
Date:&nbsp;Thu, May 18, 2023 07:36 PM
To:&nbsp;"ffmpeg-devel"<ffmpeg-devel@ffmpeg.org&gt;;

Subject:&nbsp;Re: [FFmpeg-devel] [PATCH] avcodec/videotoolboxenc: add 
low-latency encoding



On 5/18/2023 7:15 AM, xufuji456 wrote:
&gt; Signed-off-by: xufuji456 <839789...@qq.com&gt;
&gt; ---
&gt;&nbsp;&nbsp; libavcodec/videotoolboxenc.c | 12 ++++++++++++
&gt;&nbsp;&nbsp; 1 file changed, 12 insertions(+)
&gt; 
&gt; diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
&gt; index c6f22723d6..88334f1851 100644
&gt; --- a/libavcodec/videotoolboxenc.c
&gt; +++ b/libavcodec/videotoolboxenc.c
&gt; @@ -251,6 +251,8 @@ typedef struct VTEncContext {
&gt;&nbsp;&nbsp; 
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* can't be bool type since AVOption 
will access it as int */
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a53_cc;
&gt; +
&gt; +&nbsp;&nbsp;&nbsp; int low_latency;
&gt;&nbsp;&nbsp; } VTEncContext;
&gt;&nbsp;&nbsp; 
&gt;&nbsp;&nbsp; static int vtenc_populate_extradata(AVCodecContext&nbsp;&nbsp; 
*avctx,
&gt; @@ -1441,6 +1443,16 @@ static int 
vtenc_create_encoder(AVCodecContext&nbsp;&nbsp; *avctx,
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&gt;&nbsp;&nbsp; 
&gt; +&nbsp;&nbsp;&nbsp; if (vtctx-&gt;low_latency) {

Nothing seems to set this?

Also, you should check the existing AV_CODEC_FLAG_LOW_DELAY flag instead.

&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);
&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;&nbsp;&nbsp; status = 
VTCompressionSessionPrepareToEncodeFrames(vtctx-&gt;session);
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (status) {
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; av_log(avctx, 
AV_LOG_ERROR, "Error: cannot prepare encoder: %d\n", status);
_______________________________________________
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".
_______________________________________________
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