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"                                                                    
                <[email protected]&gt;;
Date:&nbsp;Thu, May 18, 2023 07:36 PM
To:&nbsp;"ffmpeg-devel"<[email protected]&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 <[email protected]&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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to