[FFmpeg-devel] videotoolbox increases min target to macOS 12
Gnattu OC
gnattuoc at me.com
Tue Jul 9 09:16:50 EEST 2024
> On Jul 9, 2024, at 13:47, Helmut K. C. Tessarek <tessarek at evermeet.cx> wrote:
>
> I'm very sorry to bother the dev list with this, but this is the 2nd time in less than a year that the min version of macOS was changed in videotoolbox.
>
> 2023-09-22: macOS 10.13
> now: macOS 12
>
> Will ffmpeg soon only compile on the current release of macOS (with videtoolbox support)? While I understand that too old OS versions are not necessarily the best idea, a lot of people still use older versions. Especially when it comes to Intel based static binaries.
>
> I just want to ask what the devs think of this situation.
> I'm not saying that this has to be fixed. (I just removed the videotoolbox support from my binaries.)
>
> I'd asked in a forum, but there is none, nor is there another way to ask the devs a question. And it is a question to the devs:
>
> Is it feasible that this code raises the minimum depolyment target that often, while the rest of ffmpeg just works perfectly fine with lower deployment targets?
Well the code introduced is to fix certain HDR related bugs and it does not "works perfectly” before, it was just broken.
>
> Cheers,
> K. C.
>
> Here is the error message when compiling ffmpeg for reference:
>
> libavutil/hwcontext_videotoolbox.c:592:39: error: 'CVBufferCopyAttachments' is only available on macOS 12.0 or newer [-Werror,-Wunguarded-availability-new]
> CFDictionaryRef attachments = CVBufferCopyAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate);
This should be fixed by this patch: https://patchwork.ffmpeg.org/project/ffmpeg/patch/tencent_386EBEE5491311084F93F9136A75C4090E05@qq.com/
so that it should at least compile on older OS targets.
But the end result is that the colorspace is as wrong as before, an older version cannot receive the fix to set the correct colorspace.
For this use case I could see that using the (now deprecated) `CVBufferGetAttachments` instead on older OS, but I cannot really test that because I don’t have device running that old version.
> ^~~~~~~~~~~~~~~~~~~~~~~
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBuffer.h:160:59: note: 'CVBufferCopyAttachments' has been marked as being introduced in macOS 12.0 here, but the deployment target is macOS 10.13.0
> CV_EXPORT CFDictionaryRef CF_RETURNS_RETAINED CV_NULLABLE CVBufferCopyAttachments( CVBufferRef CV_NONNULL buffer, CVAttachmentMode attachmentMode ) API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
> ^
> libavutil/hwcontext_videotoolbox.c:592:39: note: enclose 'CVBufferCopyAttachments' in a __builtin_available check to silence this warning
> CFDictionaryRef attachments = CVBufferCopyAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate);
> ^~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
>
>
> --
> regards Helmut K. C. Tessarek KeyID 0x172380A011EF4944
> Key fingerprint = 8A55 70C1 BD85 D34E ADBC 386C 1723 80A0 11EF 4944
>
> /*
> Thou shalt not follow the NULL pointer for chaos and madness
> await thee at its end.
> */
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list