Re: FFmpeg VAAPI H264 /HEVC encoding not supported

From: Mehmet Erol Sanliturk <m.e.sanliturk_at_gmail.com>
Date: Sun, 07 Jan 2024 05:06:37 UTC
H264 and HEVC are patented and require a license to use them :


https://www.google.com/search?q=is+h264+patented+or+not&sca_esv=596298580&sxsrf=AM9HkKkCbasJ_rZxhBZ0CfT-WedIb0IxqA%3A1704601707318&source=hp&ei=ayiaZevMEfSFxc8PuIePiAM&iflsig=AO6bgOgAAAAAZZo2ex_xUaqw07FHPI8bDgaMJd3jqyo-&ved=0ahUKEwirrvyZuMqDAxX0QvEDHbjDAzEQ4dUDCAo&uact=5&oq=is+h264+patented+or+not&gs_lp=Egdnd3Mtd2l6IhdpcyBoMjY0IHBhdGVudGVkIG9yIG5vdDIFECEYoAFI6H5QAFjjYHAAeACQAQCYAYUBoAG5EqoBBDguMTW4AQPIAQD4AQHCAgwQIxiABBiKBRgTGCfCAgQQIxgnwgIFEAAYgATCAgsQLhiABBjHARjRA8ICChAjGIAEGIoFGCfCAgUQLhiABMICBxAAGIAEGArCAggQABgWGB4YCsICBhAAGBYYHsICCxAAGIAEGIoFGIYDwgIIEAAYFhgeGA8&sclient=gws-wiz
is h264 patented or not


https://en.wikipedia.org/wiki/Advanced_Video_Coding
Advanced Video Coding



https://www.google.com/search?q=is+hevc+patented+or+not&sca_esv=596298580&sxsrf=AM9HkKny-qeovZ7VtTHG1QfE01reA-dGmA%3A1704601726231&ei=fiiaZbvhDYuGxc8PmompiA0&ved=0ahUKEwi7mICjuMqDAxULQ_EDHZpECtEQ4dUDCBA&uact=5&oq=is+hevc+patented+or+not&gs_lp=Egxnd3Mtd2l6LXNlcnAiF2lzIGhldmMgcGF0ZW50ZWQgb3Igbm90MggQABiABBiiBDIIEAAYgAQYogRItaYTUJv6EljLkRNwBHgBkAEAmAF4oAGCBaoBAzIuNLgBA8gBAPgBAcICChAAGEcY1gQYsAPCAggQABgIGAcYHsICCxAAGIAEGIoFGIYD4gMEGAAgQYgGAZAGCA&sclient=gws-wiz-serp
is hevc patented or not


https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
High Efficiency Video Coding



In your FFmpeg configuration :

--disable-nonfree


Therefore FFmpeg will not be applicable to these codecs .


You may test your system by working with   .webm , .vp8 , or .vp9  codecs .
These are patent-free .


I do not know OBS . It is also necessary to check its documentation and
configuration whether
it ignores non-free codecs  or passes them to the used program for handling
them .

Another point is GPU hardware . If GPU is able to handle patented codecs (
obviously this requires required
licenses are available to hardware for GPU ) , then configuration of your
FFmpeg and encompassing programs
using the FFmpeg can be configured to use GPU supplied facilities .
I do not know exactly if FFmpeg has a facility for this case . Please check
FFmpeg documentation .


Mehmet Erol Sanliturk




On Sun, Jan 7, 2024 at 3:46 AM Mario Marietto <marietto2008@gmail.com>
wrote:

> if VAAPI should be enabled should be defined when I compile OBS ? because
> vaapi is enabled in ffmpeg but not in OBS and not in mpv :
>
> nano /home/marietto/.config/mpv/mpv.conf
>
> vo=gpu
> hwdec=vaapi
>
>
> nano /root/.config/mpv/mpv.conf
>
> vo=gpu
> hwdec=vaapi
>
> # mpv ciao.mp4
>
> (+) Video --vid=1 (*) (h264 640x480 25.000fps)
> (+) Audio --aid=1 (*) (aac 2ch 24000Hz)
> Title: ciao.mp4
> AO: [oss] 24000Hz stereo 2ch s32
> VO: [gpu] 640x480 => 640x511 yuv420p
> Exiting... (Quit)
>
>
> # ffmpeg -codecs | grep vaapi
>
>
> ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
>  built with FreeBSD clang version 16.0.6 (
> https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0
> -g7cbf1a259152)
>  configuration: --prefix=/usr/local --mandir=/usr/local/man
> --datadir=/usr/local/share/ffmpeg --doc
> dir=/usr/local/share/doc/ffmpeg
> --pkgconfigdir=/usr/local/libdata/pkgconfig --disable-static --disab
> le-libcelt --enable-shared --enable-pic --enable-gpl --cc=cc --cxx=c++
> --disable-alsa --disable-libo
> pencore-amrnb --disable-libopencore-amrwb --enable-libaom
> --disable-libaribb24 --disable-libaribcapt
> ion --enable-asm --enable-libass --disable-libbs2b --disable-libcaca
> --disable-libcdio --disable-lib
> codec2 --enable-libdav1d --disable-libdavs2 --disable-libdc1394
> --disable-debug --enable-htmlpages -
> -enable-libdrm --disable-libfdk-aac --disable-libflite --enable-fontconfig
> --enable-libfreetype --en
> able-frei0r --disable-libfribidi --disable-gcrypt --disable-libglslang
> --disable-libgme --enable-gmp
> --enable-gnutls --enable-version3 --disable-libgsm --enable-libharfbuzz
> --enable-iconv --disable-li
> bilbc --disable-libjack --enable-libjxl --disable-libklvanc
> --disable-libkvazaar --disable-ladspa --
> enable-libmp3lame --enable-lcms2 --disable-liblensfun --disable-libbluray
> --enable-libplacebo --disa
> ble-librsvg --disable-librtmp --enable-libxml2 --disable-lv2
> --disable-mbedtls --disable-libmfx --di
> sable-libmodplug --disable-libmysofa --enable-network --disable-nonfree
> --enable-nvenc --disable-ope
> nal --disable-opencl --disable-opengl --disable-libopenh264
> --disable-libopenjpeg --disable-libopenm
> pt --disable-openssl --disable-libopenvino --enable-optimizations
> --enable-libopus --disable-pockets
> phinx --disable-libpulse --disable-librabbitmq --disable-librav1e
> --disable-librist --enable-runtime
> -cpudetect --disable-librubberband --disable-sdl2 --enable-libshaderc
> --disable-libsmbclient --disab
> le-libsnappy --disable-sndio --disable-libsoxr --disable-libspeex
> --disable-libsrt --disable-libssh
> --enable-libsvtav1 --disable-libtensorflow --disable-libtesseract
> --disable-libtheora --disable-libt
> wolame --disable-libuavs3d --enable-libv4l2 --enable-vaapi
> --disable-vapoursynth --enable-vdpau --di
> sable-libvidstab --enable-libvmaf --enable-libvorbis
> --disable-libvo-amrwbenc --disable-libvpl --ena
> ble-libvpx --enable-vulkan --enable-libwebp --enable-libx264
> --enable-libx265 --disable-libxavs2 --e
> nable-libxcb --disable-libxvid --disable-outdev=xv --disable-libzimg
> --disable-libzmq --disable-libz
> vbi
>
>
>  libavutil      58. 29.100 / 58. 29.100
>  libavcodec     60. 31.102 / 60. 31.102
>  libavformat    60. 16.100 / 60. 16.100
>  libavdevice    60.  3.100 / 60.  3.100
>  libavfilter     9. 12.100 /  9. 12.100
>  libswscale      7.  5.100 /  7.  5.100
>  libswresample   4. 12.100 /  4. 12.100
>  libpostproc    57.  3.100 / 57.  3.100
>
>
> DEV.L. av1                  Alliance for Open Media AV1 (decoders:
> libdav1d libaom-av1 av1 av1_cuvi
> d) (encoders: libaom-av1 libsvtav1 av1_nvenc av1_vaapi)
>
> DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
> (decoders: h264 h264_v4l2m2m
> h264_cuvid) (encoders: libx264 libx264rgb h264_nvenc h264_v4l2m2m
> h264_vaapi)
>
> DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding)
> (decoders: hevc hevc_v4l2m2
> m hevc_cuvid) (encoders: libx265 hevc_nvenc hevc_v4l2m2m hevc_vaapi)
>
> DEVIL. mjpeg                Motion JPEG (decoders: mjpeg mjpeg_cuvid)
> (encoders: mjpeg mjpeg_vaapi)
>
> DEV.L. mpeg2video           MPEG-2 video (decoders: mpeg2video mpegvideo
> mpeg2_v4l2m2m mpeg2_cuvid)
> (encoders: mpeg2video mpeg2_vaapi)
>
> DEV.L. vp8                  On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx
> vp8_cuvid) (encoders: libvpx
> vp8_v4l2m2m vp8_vaapi)
>
> DEV.L. vp9                  Google VP9 (decoders: vp9 vp9_v4l2m2m
> libvpx-vp9 vp9_cuvid) (encoders:
> libvpx-vp9 vp9_vaapi)
>
> On Sun, Jan 7, 2024 at 1:17 AM Mario Marietto <marietto2008@gmail.com>
> wrote:
>
>> Very thanks.
>>
>> root@marietto:/usr/ports/graphics # glxinfo
>>
>> https://pastebin.ubuntu.com/p/RryNptHvsk/
>>
>> I don't see "Accelerated:''
>>
>> On Sat, Jan 6, 2024 at 11:58 PM Kevin Oberman <rkoberman@gmail.com>
>> wrote:
>>
>>> On Sat, Jan 6, 2024 at 9:57 AM Mario Marietto <marietto2008@gmail.com>
>>> wrote:
>>>
>>>> Thanks,
>>>>
>>>> لكن المعلومات التي قدمتها لي عامة. ما زلت لا أعرف ما إذا كان لدي خطأ
>>>> وما إذا كان بإمكاني إصلاحه بطريقة ما.
>>>>
>>>> (but the information that you gave to me is generic. I still don't know
>>>> if I have a bug and if I can fix it,in some way).
>>>>
>>>> On Sat, Jan 6, 2024 at 5:23 PM Mehmet Erol Sanliturk <
>>>> m.e.sanliturk@gmail.com> wrote:
>>>>
>>>>>
>>>>> Perhaps the following pages may be useful :
>>>>>
>>>>> https://trac.ffmpeg.org/wiki/HWAccelIntro
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>> Mehmet Erol Sanliturk
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Jan 6, 2024 at 5:51 PM Mario Marietto <marietto2008@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hello to everyone.
>>>>>>
>>>>>> I'm using FreeBSD 14.0-p3 with the latest packages and I'm trying to
>>>>>> enable the VAAPI H264 / HEVC encoding for obs-studio,but it says that they
>>>>>> aren't supported. There may be a bug somewhere ?
>>>>>>
>>>>>> start-obs :
>>>>>>
>>>>>> sh << EOF
>>>>>> env LD_LIBMAP="`nv-sglrun printenv LD_LIBMAP | grep -v libGL`" obs
>>>>>> EOF
>>>>>>
>>>>>> root@marietto:/compat # ./start-obs
>>>>>> shim init
>>>>>>
>>>>>> info: Using EGL/X11
>>>>>> info: CPU Name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
>>>>>> info: CPU Speed: 3600.00MHz
>>>>>> info: Physical Cores: 8, Logical Cores: 16
>>>>>> info: Physical Memory: 31734MB Total, 19859MB Free
>>>>>> info: Kernel Version: FreeBSD 14.0-RELEASE-p3
>>>>>> info: Distribution: FreeBSD "14.0"
>>>>>> info: Window System: X11.0, Vendor: The X.Org Foundation, Version:
>>>>>> 1.21.1
>>>>>> info: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled)
>>>>>> info: Portable mode: false
>>>>>> info: OBS 30.0.2 (freebsd)
>>>>>> info: ---------------------------------
>>>>>> info: ---------------------------------
>>>>>> info: audio settings reset:
>>>>>> samples per sec: 48000
>>>>>> speakers: 2
>>>>>> max buffering: 960 milliseconds
>>>>>> buffering type: dynamically increasing
>>>>>> info: ---------------------------------
>>>>>> info: Initializing OpenGL...
>>>>>> info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce
>>>>>> GTX 1060 3GB/PCIe/SSE2
>>>>>> info: OpenGL loaded successfully, version 3.3.0 NVIDIA 535.146.02,
>>>>>> shading language 3.30 NVIDIA via Cg compiler
>>>>>>
>>>>>> info: ---------------------------------
>>>>>> info: video settings reset:
>>>>>> base resolution: 1920x1080
>>>>>> output resolution: 1280x720
>>>>>> downscale filter: Bicubic
>>>>>> fps: 30/1
>>>>>> format: NV12
>>>>>> YUV mode: Rec. 709/Partial
>>>>>> info: NV12 texture support not available
>>>>>> info: P010 texture support not available
>>>>>> info: Audio monitoring device:
>>>>>> name: Default
>>>>>> id: default
>>>>>> info: ---------------------------------
>>>>>> info: [pipewire] No captures available
>>>>>> warning: v4l2loopback not installed, virtual camera disabled
>>>>>> info: NVENC supported
>>>>>>
>>>>>>
>>>>>> *info: FFmpeg VAAPI H264 encoding not supported info: FFmpeg VAAPI
>>>>>> HEVC encoding not supported*
>>>>>>
>>>>>> info: [obs-websocket] [obs_module_load] you can haz websockets
>>>>>> (Version: 5.0.1 | RPC Version: 1)
>>>>>> info: [obs-websocket] [obs_module_load] Qt version (compile-time):
>>>>>> 6.6.1 | Qt version (run-time): 6.6.1
>>>>>> info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
>>>>>> info: [obs-websocket] [obs_module_load] Module loaded.
>>>>>> info: [vlc-video]: VLC 3.0.20 Vetinari found, VLC video source enabled
>>>>>> info: ---------------------------------
>>>>>> info: Loaded Modules:
>>>>>> info: vlc-video.so
>>>>>> info: text-freetype2.so
>>>>>> info: sndio.so
>>>>>> info: rtmp-services.so
>>>>>> info: oss-audio.so
>>>>>> info: obs-x264.so
>>>>>> info: obs-websocket.so
>>>>>> info: obs-webrtc.so
>>>>>> info: obs-transitions.so
>>>>>> info: obs-outputs.so
>>>>>> info: obs-filters.so
>>>>>> info: obs-ffmpeg.so
>>>>>> info: linux-v4l2.so
>>>>>> info: linux-pulseaudio.so
>>>>>> info: linux-pipewire.so
>>>>>> info: linux-jack.so
>>>>>> info: linux-capture.so
>>>>>> info: image-source.so
>>>>>> info: frontend-tools.so
>>>>>> info: ---------------------------------
>>>>>> info: ==== Startup complete
>>>>>> ===============================================
>>>>>> info: All scene data cleared
>>>>>> info: ------------------------------------------------
>>>>>> info: Switched to scene 'Scene'
>>>>>> info: ------------------------------------------------
>>>>>> info: Loaded scenes:
>>>>>> info: - scene 'Scene':
>>>>>> info: ------------------------------------------------
>>>>>> info: ==== Shutting down
>>>>>> ==================================================
>>>>>> info: All scene data cleared
>>>>>> info: ------------------------------------------------
>>>>>> info: [obs-websocket] [obs_module_unload] Shutting down...
>>>>>> error: Tried to call obs_frontend_remove_event_callback with no
>>>>>> callbacks!
>>>>>> error: Tried to call obs_frontend_get_global_config with no callbacks!
>>>>>> error: [obs-websocket] [Config::Save] Unable to fetch OBS config!
>>>>>> info: [obs-websocket] [obs_module_unload] Finished shutting down.
>>>>>> info: [Scripting] Total detached callbacks: 0
>>>>>> info: Freeing OBS context data
>>>>>> info: == Profiler Results =============================
>>>>>> info: run_program_init: 663.636 ms
>>>>>> info: ┣OBSApp::AppInit: 3.125 ms
>>>>>> info: ┃ ┗OBSApp::InitLocale: 0.784 ms
>>>>>> info: ┗OBSApp::OBSInit: 626.884 ms
>>>>>> info: ┣obs_startup: 1.247 ms
>>>>>> info: ┗OBSBasic::OBSInit: 598.145 ms
>>>>>> info: ┣OBSBasic::InitBasicConfig: 0.085 ms
>>>>>> info: ┣OBSBasic::ResetAudio: 0.149 ms
>>>>>> info: ┣OBSBasic::ResetVideo: 92.565 ms
>>>>>> info: ┃ ┗obs_init_graphics: 92.317 ms
>>>>>> info: ┃ ┗shader compilation: 22.654 ms
>>>>>> info: ┣OBSBasic::InitOBSCallbacks: 0.005 ms
>>>>>> info: ┣OBSBasic::InitHotkeys: 0.022 ms
>>>>>> info: ┣obs_load_all_modules2: 365.069 ms
>>>>>> info: ┃ ┣obs_init_module(frontend-tools.so): 27.908 ms
>>>>>> info: ┃ ┣obs_init_module(image-source.so): 0.009 ms
>>>>>> info: ┃ ┣obs_init_module(linux-capture.so): 0.374 ms
>>>>>> info: ┃ ┣obs_init_module(linux-jack.so): 0.004 ms
>>>>>> info: ┃ ┣obs_init_module(linux-pipewire.so): 3.652 ms
>>>>>> info: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.003 ms
>>>>>> info: ┃ ┣obs_init_module(linux-v4l2.so): 0.856 ms
>>>>>> info: ┃ ┣obs_init_module(obs-ffmpeg.so): 5.617 ms
>>>>>> info: ┃ ┃ ┗nvenc_check: 5.362 ms
>>>>>> info: ┃ ┣obs_init_module(obs-filters.so): 0.029 ms
>>>>>> info: ┃ ┣obs_init_module(obs-outputs.so): 0.007 ms
>>>>>> info: ┃ ┣obs_init_module(obs-transitions.so): 0.009 ms
>>>>>> info: ┃ ┣obs_init_module(obs-webrtc.so): 0.029 ms
>>>>>> info: ┃ ┣obs_init_module(obs-websocket.so): 4.649 ms
>>>>>> info: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms
>>>>>> info: ┃ ┣obs_init_module(oss-audio.so): 0.004 ms
>>>>>> info: ┃ ┣obs_init_module(rtmp-services.so): 0.993 ms
>>>>>> info: ┃ ┣obs_init_module(sndio.so): 0.005 ms
>>>>>> info: ┃ ┣obs_init_module(text-freetype2.so): 0.035 ms
>>>>>> info: ┃ ┗obs_init_module(vlc-video.so): 0.635 ms
>>>>>> info: ┣OBSBasic::InitService: 0.773 ms
>>>>>> info: ┣OBSBasic::ResetOutputs: 0.509 ms
>>>>>> info: ┣OBSBasic::CreateHotkeys: 0.026 ms
>>>>>> info: ┣OBSBasic::InitPrimitives: 0.162 ms
>>>>>> info: ┗OBSBasic::Load: 67.014 ms
>>>>>> info: obs_hotkey_thread(25 ms): min=0.03 ms, median=0.17 ms,
>>>>>> max=10.834 ms, 99th percentile=8.279 ms
>>>>>> , 100% below 25 ms
>>>>>> info: audio_thread(Audio): min=0.005 ms, median=0.036 ms, max=0.149
>>>>>> ms, 99th percentile=0.101 ms
>>>>>> info: obs_graphics_thread(33.3333 ms): min=0.084 ms, median=0.987 ms,
>>>>>> max=22.184 ms, 99th percentile
>>>>>> =22.184 ms, 100% below 33.333 ms
>>>>>> info: ┣tick_sources: min=0.001 ms, median=0.009 ms, max=0.658 ms,
>>>>>> 99th percentile=0.658 ms
>>>>>> info: ┣output_frame: min=0.041 ms, median=0.212 ms, max=8.411 ms,
>>>>>> 99th percentile=8.411 ms
>>>>>> info: ┃ ┗gs_context(video->graphics): min=0.04 ms, median=0.211 ms,
>>>>>> max=8.41 ms, 99th percentile=8.
>>>>>> 41 ms
>>>>>> info: ┃ ┣render_video: min=0.02 ms, median=0.125 ms, max=8.379 ms,
>>>>>> 99th percentile=8.379 ms
>>>>>> info: ┃ ┃ ┗render_main_texture: min=0.015 ms, median=0.098 ms,
>>>>>> max=8.356 ms, 99th percentile=8.35
>>>>>> 6 ms
>>>>>> info: ┃ ┗gs_flush: min=0.003 ms, median=0.018 ms, max=7.648 ms, 99th
>>>>>> percentile=7.648 ms
>>>>>> info: ┗render_displays: min=0.009 ms, median=0.603 ms, max=22.032 ms,
>>>>>> 99th percentile=22.032 ms
>>>>>> info: =================================================
>>>>>> info: == Profiler Time Between Calls ==================
>>>>>> info: obs_hotkey_thread(25 ms): min=25.037 ms, median=25.19 ms,
>>>>>> max=65.219 ms, 91.0569% within ±2% o
>>>>>> f 25 ms (0% lower, 8.94309% higher)
>>>>>> info: obs_graphics_thread(33.3333 ms): min=12.188 ms, median=33.322
>>>>>> ms, max=52.604 ms, 78.8889% with
>>>>>> in ±2% of 33.333 ms (10% lower, 11.1111% higher)
>>>>>> info: =================================================
>>>>>> info: Number of memory leaks: 0
>>>>>>
>>>>>>
>>>>>> * but the vaapi codecs are recognized correctly :*
>>>>>>
>>>>>>
>>>>>> # ffmpeg -codecs | grep vaapi
>>>>>>
>>>>>> ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
>>>>>> built with FreeBSD clang version 16.0.6 (
>>>>>> https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0
>>>>>> -g7cbf1a259152)
>>>>>>
>>>>>> configuration: --prefix=/usr/local --mandir=/usr/local/man
>>>>>> --datadir=/usr/local/share/ffmpeg --doc
>>>>>> dir=/usr/local/share/doc/ffmpeg
>>>>>> --pkgconfigdir=/usr/local/libdata/pkgconfig --disable-static --disab
>>>>>> le-libcelt --enable-shared --enable-pic --enable-gpl --cc=cc
>>>>>> --cxx=c++ --disable-alsa --disable-libo
>>>>>> pencore-amrnb --disable-libopencore-amrwb --enable-libaom
>>>>>> --disable-libaribb24 --disable-libaribcapt
>>>>>> ion --enable-asm --enable-libass --disable-libbs2b --disable-libcaca
>>>>>> --disable-libcdio --disable-lib
>>>>>> codec2 --enable-libdav1d --disable-libdavs2 --disable-libdc1394
>>>>>> --disable-debug --enable-htmlpages -
>>>>>> -enable-libdrm --disable-libfdk-aac --disable-libflite
>>>>>> --enable-fontconfig --enable-libfreetype --en
>>>>>> able-frei0r --disable-libfribidi --disable-gcrypt
>>>>>> --disable-libglslang --disable-libgme --enable-gmp
>>>>>> --enable-gnutls --enable-version3 --disable-libgsm
>>>>>> --enable-libharfbuzz --enable-iconv --disable-li
>>>>>> bilbc --disable-libjack --enable-libjxl --disable-libklvanc
>>>>>> --disable-libkvazaar --disable-ladspa --
>>>>>> enable-libmp3lame --enable-lcms2 --disable-liblensfun
>>>>>> --disable-libbluray --enable-libplacebo --disa
>>>>>> ble-librsvg --disable-librtmp --enable-libxml2 --disable-lv2
>>>>>> --disable-mbedtls --disable-libmfx --di
>>>>>> sable-libmodplug --disable-libmysofa --enable-network
>>>>>> --disable-nonfree --enable-nvenc --disable-ope
>>>>>> nal --disable-opencl --disable-opengl --disable-libopenh264
>>>>>> --disable-libopenjpeg --disable-libopenm
>>>>>> pt --disable-openssl --disable-libopenvino --enable-optimizations
>>>>>> --enable-libopus --disable-pockets
>>>>>> phinx --disable-libpulse --disable-librabbitmq --disable-librav1e
>>>>>> --disable-librist --enable-runtime
>>>>>> -cpudetect --disable-librubberband --disable-sdl2 --enable-libshaderc
>>>>>> --disable-libsmbclient --disab
>>>>>> le-libsnappy --disable-sndio --disable-libsoxr --disable-libspeex
>>>>>> --disable-libsrt --disable-libssh
>>>>>> --enable-libsvtav1 --disable-libtensorflow --disable-libtesseract
>>>>>> --disable-libtheora --disable-libt
>>>>>> wolame --disable-libuavs3d --enable-libv4l2 --enable-vaapi
>>>>>> --disable-vapoursynth --enable-vdpau --di
>>>>>> sable-libvidstab --enable-libvmaf --enable-libvorbis
>>>>>> --disable-libvo-amrwbenc --disable-libvpl --ena
>>>>>> ble-libvpx --enable-vulkan --enable-libwebp --enable-libx264
>>>>>> --enable-libx265 --disable-libxavs2 --e
>>>>>> nable-libxcb --disable-libxvid --disable-outdev=xv --disable-libzimg
>>>>>> --disable-libzmq --disable-libz
>>>>>> vbi
>>>>>> libavutil 58. 29.100 / 58. 29.100
>>>>>> libavcodec 60. 31.102 / 60. 31.102
>>>>>> libavformat 60. 16.100 / 60. 16.100
>>>>>> libavdevice 60. 3.100 / 60. 3.100
>>>>>> libavfilter 9. 12.100 / 9. 12.100
>>>>>> libswscale 7. 5.100 / 7. 5.100
>>>>>> libswresample 4. 12.100 / 4. 12.100
>>>>>> libpostproc 57. 3.100 / 57. 3.100
>>>>>>
>>>>>> DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1d libaom-av1
>>>>>> av1 av1_cuvi
>>>>>> d) (encoders: libaom-av1 libsvtav1 av1_nvenc av1_vaapi)
>>>>>> DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders:
>>>>>> h264 h264_v4l2m2m
>>>>>> h264_cuvid) (encoders: libx264 libx264rgb h264_nvenc h264_v4l2m2m
>>>>>> h264_vaapi)
>>>>>> DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders:
>>>>>> hevc hevc_v4l2m2
>>>>>> m hevc_cuvid) (encoders: libx265 hevc_nvenc hevc_v4l2m2m hevc_vaapi)
>>>>>> DEVIL. mjpeg Motion JPEG (decoders: mjpeg mjpeg_cuvid) (encoders:
>>>>>> mjpeg mjpeg_vaapi)
>>>>>> DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo
>>>>>> mpeg2_v4l2m2m mpeg2_cuvid)
>>>>>> (encoders: mpeg2video mpeg2_vaapi)
>>>>>> DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx vp8_cuvid)
>>>>>> (encoders: libvpx
>>>>>> vp8_v4l2m2m vp8_vaapi)
>>>>>> DEV.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-vp9
>>>>>> vp9_cuvid) (encoders:
>>>>>> libvpx-vp9 vp9_vaapi)
>>>>>>
>>>>>> --
>>>>>> Mario.
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Mario.
>>>>
>>> First, VAAPI  is not a codec. It is Video Acceleration-API and is
>>> supported by some tools directly, but most often using Mesa or
>>> libva-VADPAU. Without VA-API support, the graphics will be handled by the
>>> CPU, not the GPU. Both H.264 (AVC) nd H.265 (HVEC) are supported by VAAPI.
>>>
>>> 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.
>>>
>>> Are you sure that Video Acceleration is working on your GPU? I have an
>>> Alder Lake Intel GPU and, as of last week, the device in FreeBSD's drivers.
>>> (New GPU firmware was added this week, but I have yet to try it to confirm
>>> whether it fixes the issue.) Easy check is to play a high res (780 or
>>> higher) video. If you have VA-API working, CPU usage will not change much.
>>> With VA-API support, it will increase significantly. More accurate check is
>>> to install graphics/xdpiinfo  and run it (no args) or graphics/glx-utils
>>> and run "glxinfo into a pager (more, less, or most). glxinfo is quite
>>> verbose. You want to look for "Accelerated:'' about 50 lines from the top.
>>>
>>> I am not an expert on all of this, but I've learned a bit trying to get
>>> my Alder Lake work properly on FreeBSD.
>>> --
>>> Kevin Oberman, Part time kid herder and retired Network Engineer
>>> E-mail: rkoberman@gmail.com
>>> PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
>>>
>>
>>
>> --
>> Mario.
>>
>
>
> --
> Mario.
>