Re: FFmpeg VAAPI H264 /HEVC encoding not supported

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 08 Jan 2024 19:57:59 UTC
Kevin Oberman <rkoberman@gmail.com> writes:

>> On Sat, Jan 6, 2024 at 5:23 PM Mehmet Erol Sanliturk <
>> m.e.sanliturk@gmail.com> wrote:
>>
>>> Another issue about video encoders and decoders is patents .
>>>
>>> https://www.google.com/search?q=is+VAAPI+HEVC+encoding+patented+or+not&sca_esv=596226834&sxsrf=AM9HkKnkHnL5dsq45dd5uDNCjL9Olnwl_A%3A1704557479981&ei=p3uZZZXGOLbjxc8P9e66mAU&ved=0ahUKEwjVtdy4k8mDAxW2cfEDHXW3DlMQ4dUDCBA&uact=5&oq=is+VAAPI+HEVC+encoding+patented+or+not&gs_lp=Egxnd3Mtd2l6LXNlcnAiJmlzIFZBQVBJIEhFVkMgZW5jb2RpbmcgcGF0ZW50ZWQgb3Igbm90SO6EAVDyCliigQFwAXgBkAEAmAGiAaAB9xGqAQQwLjE5uAEDyAEA-AEBwgIKEAAYRxjWBBiwA8ICBxAjGLACGCfCAggQABgIGB4YDcICCxAAGIAEGIoFGIYDwgIKECEYChigARjDBMICCBAhGKABGMMEwgIFECEYoAHCAgQQIRgV4gMEGAAgQYgGAZAGCA&sclient=gws-wiz-serp
>>> is VAAPI HEVC encoding patented or not
>>>
>>>
>>> https://www.google.com/search?q=is+VAAPI+H264+encoding+patented+or+not&sca_esv=596226834&sxsrf=AM9HkKl4fSR7Myk6mZQSftwHYdNbZhnr4Q%3A1704557529388&ei=2XuZZYKcF8m9xc8Pj6u0OA&ved=0ahUKEwjC7KbQk8mDAxXJXvEDHY8VDQcQ4dUDCBA&uact=5&oq=is+VAAPI+H264+encoding+patented+or+not&gs_lp=Egxnd3Mtd2l6LXNlcnAiJmlzIFZBQVBJIEgyNjQgZW5jb2RpbmcgcGF0ZW50ZWQgb3Igbm90MggQABiABBiiBEiP0wZQ5psGWLu5BnADeAGQAQCYAaoBoAGiBqoBAzAuNrgBA8gBAPgBAcICChAAGEcY1gQYsAPiAwQYACBBiAYBkAYI&sclient=gws-wiz-serp
>>> is VAAPI H264 encoding patented or not
>
> Are you building ffmpeg from source or installing a package? Patented ports
> need to be built "NONFREE=on" for patented codecs. I am not sure what
> options the ffmpeg package is built with.

FreeBSD doesn't cripple packages due to patents. See
https://cgit.freebsd.org/ports/commit/?id=6356d8c7e8a5

NONFREE in multimedia/ffmpeg refers to the code under GPL-incompatible
licenses. It mainly affects OPENSSL and FDK_AAC options. For example,
NVENC is enabled by default unlike NONFREE option.

FFmpeg also supports CUDA- and NPP- based filters but those are not
exposed in the port due to missing dependencies. Both would be NONFREE
as SDKs for CUDA (e.g., nvcc) and NPP (e.g., libnpp) are proprietary.