diff mbox series

[FFmpeg-devel] libavcodec/videotoolboxenc.c: Only log the EncoderID on macOS >= 10.13.

Message ID CAB9xhmPiOPmZvy+P8a1cfCQDzioQNuMYOPNKnqc7Otb89M1oTA@mail.gmail.com
State New
Headers show
Series [FFmpeg-devel] libavcodec/videotoolboxenc.c: Only log the EncoderID on macOS >= 10.13. | expand

Checks

Context Check Description
andriy/configure_x86 warning Failed to apply patch

Commit Message

David Bohman Nov. 24, 2023, 3:40 p.m. UTC
This is to fix a build failure on macOS < 10.13.

This is a build failure in release 6.1. The issue also exists at the
top of the master branch, and the patch applies there.
---
 libavcodec/videotoolboxenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

for encoder. Use -b:v bitrate instead.\n");

Comments

Zhao Zhili Nov. 24, 2023, 5:01 p.m. UTC | #1
> On Nov 24, 2023, at 23:40, David Bohman <debohman@gmail.com> wrote:
> 
> This is to fix a build failure on macOS < 10.13.
> 
> This is a build failure in release 6.1. The issue also exists at the
> top of the master branch, and the patch applies there.
> ---
> libavcodec/videotoolboxenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
> index b0e827d14a..b72eb470fd 100644
> --- a/libavcodec/videotoolboxenc.c
> +++ b/libavcodec/videotoolboxenc.c
> @@ -1172,7 +1172,6 @@ static int vtenc_create_encoder(AVCodecContext   *avctx,
>             return AVERROR_EXTERNAL;
>         }
>     }
> -#endif
> 
>     // Dump the init encoder
>     {
> @@ -1201,6 +1200,7 @@ static int vtenc_create_encoder(AVCodecContext   *avctx,
>         if (encoderID != NULL)
>             CFRelease(encoderID);
>     }
> +#endif

It looks like kVTCompressionPropertyKey_EncoderID is the root cause of build failure.
I prefer use compat_keys, so it can be build on macOS < 10.13, get the key at runtime
and run on macOS >= 10.13.

> 
>     if (avctx->flags & AV_CODEC_FLAG_QSCALE && !vtenc_qscale_enabled()) {
>         av_log(avctx, AV_LOG_ERROR, "Error: -q:v qscale not available
> for encoder. Use -b:v bitrate instead.\n");
> -- 
> 2.43.0
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
David Bohman Nov. 24, 2023, 9:32 p.m. UTC | #2
On Fri, Nov 24, 2023 at 9:01 AM Zhao Zhili <quinkblack@foxmail.com> wrote:
>
> > On Nov 24, 2023, at 23:40, David Bohman <debohman@gmail.com> wrote:
> >
> > This is to fix a build failure on macOS < 10.13.
> >
> It looks like kVTCompressionPropertyKey_EncoderID is the root cause of build failure.
> I prefer use compat_keys, so it can be build on macOS < 10.13, get the key at runtime
> and run on macOS >= 10.13.

Correct, kVTCompressionPropertyKey_EncoderID appeared in 10.13,
according to the Apple Developer documentation.

Are you going to do your own fix?
Zhao Zhili Nov. 25, 2023, 4:08 a.m. UTC | #3
> On Nov 25, 2023, at 05:32, David Bohman <debohman@gmail.com> wrote:
> 
> On Fri, Nov 24, 2023 at 9:01 AM Zhao Zhili <quinkblack@foxmail.com> wrote:
>> 
>>> On Nov 24, 2023, at 23:40, David Bohman <debohman@gmail.com> wrote:
>>> 
>>> This is to fix a build failure on macOS < 10.13.
>>> 
>> It looks like kVTCompressionPropertyKey_EncoderID is the root cause of build failure.
>> I prefer use compat_keys, so it can be build on macOS < 10.13, get the key at runtime
>> and run on macOS >= 10.13.
> 
> Correct, kVTCompressionPropertyKey_EncoderID appeared in 10.13,
> according to the Apple Developer documentation.
> 
> Are you going to do your own fix?

Could you test the following patch? Thanks.

https://ffmpeg.org/pipermail/ffmpeg-devel/2023-November/317366.html

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
David Bohman Nov. 25, 2023, 10:13 p.m. UTC | #4
On Fri, Nov 24, 2023 at 8:09 PM Zhao Zhili <quinkblack@foxmail.com> wrote:
>
>
>
> > On Nov 25, 2023, at 05:32, David Bohman <debohman@gmail.com> wrote:
> >
> > On Fri, Nov 24, 2023 at 9:01 AM Zhao Zhili <quinkblack@foxmail.com> wrote:
> >>
> >>> On Nov 24, 2023, at 23:40, David Bohman <debohman@gmail.com> wrote:
> >>>
> >>> This is to fix a build failure on macOS < 10.13.
> >>>
> >> It looks like kVTCompressionPropertyKey_EncoderID is the root cause of build failure.
> >> I prefer use compat_keys, so it can be build on macOS < 10.13, get the key at runtime
> >> and run on macOS >= 10.13.
> >
> > Correct, kVTCompressionPropertyKey_EncoderID appeared in 10.13,
> > according to the Apple Developer documentation.
> >
> > Are you going to do your own fix?
>
> Could you test the following patch? Thanks.
>
> https://ffmpeg.org/pipermail/ffmpeg-devel/2023-November/317366.html

Looks good.
diff mbox series

Patch

diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index b0e827d14a..b72eb470fd 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -1172,7 +1172,6 @@  static int vtenc_create_encoder(AVCodecContext   *avctx,
             return AVERROR_EXTERNAL;
         }
     }
-#endif

     // Dump the init encoder
     {
@@ -1201,6 +1200,7 @@  static int vtenc_create_encoder(AVCodecContext   *avctx,
         if (encoderID != NULL)
             CFRelease(encoderID);
     }
+#endif

     if (avctx->flags & AV_CODEC_FLAG_QSCALE && !vtenc_qscale_enabled()) {
         av_log(avctx, AV_LOG_ERROR, "Error: -q:v qscale not available