Here is my vlc version: VLC media player 3.0.18 Vetinari (revision 3.0.13-8-g41878ff4f2)
Hardware decoding works with mpv, and using FFmpeg like this:
Code: Select all
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i video.mp4 -vcodec rawvideo -acodec copy -f matroska - | ffplay -i -
FFmpeg show a h264_vaapi encoder (my video is H.264), but no decoder with the same name. I've read that it's normal as long as it shows vaapi when I do ffmpeg -hwaccels, which it does.
Here's the logs (I, hopefully, kept only related logs):
Code: Select all
avcodec debug: available hardware decoder output format 98 (vdpau)
avcodec debug: available hardware decoder output format 117 (cuda)
avcodec debug: available hardware decoder output format 44 (vaapi)
avcodec debug: available software decoder output format 0 (yuv420p)
avcodec debug: trying format vaapi
main debug: Buffering 25%
main debug: Buffering 50%
main debug: Buffering 75%
main debug: Buffering 100%
main debug: Stream buffering done (1250 ms in 50 ms)
main debug: looking for video converter module matching "any": 23 candidates
swscale debug: 32x32 (32x32) chroma: YUVA -> 16x16 (16x16) chroma: RGBA with scaling using Bicubic (good quality)
main debug: using video converter module "swscale"
main debug: looking for video converter module matching "any": 23 candidates
yuvp debug: YUVP to YUVA converter
main debug: using video converter module "yuvp"
main debug: Deinterlacing available
main debug: deinterlace -1, mode auto, is_needed 0
main debug: looking for vout window module matching "qt,any": 6 candidates
qt debug: requesting video window...
main debug: using vout window module "qt"
main debug: looking for inhibit module matching "any": 2 candidates
dbus_screensaver debug: found service org.freedesktop.ScreenSaver
main debug: using inhibit module "dbus_screensaver"
main debug: Opening vout display wrapper
main debug: looking for vout display module matching "any": 14 candidates
main debug: resized to 3840x1920
main debug: VoutDisplayEvent 'resize' 3840x1920
main debug: looking for opengl module matching "any": 3 candidates
main debug: resized to 1366x634
main debug: VoutDisplayEvent 'resize' 1366x634
egl_x11 debug: EGL version 1.5 by Mesa Project
egl_x11 debug: extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display
main debug: using opengl module "egl_x11"
gl info: Initialized libplacebo v4.208.0 (API v208)
main debug: looking for glconv module matching "any": 4 candidates
main debug: using glconv module "glconv_vaapi_x11"
main debug: using vout display module "gl"
main debug: original format sz 3840x1920, of (0,0), vsz 3840x1920, 4cc VAOP, sar 1:1, msk r0x0 g0x0 b0x0
main debug: resized to 1366x634
main debug: VoutDisplayEvent 'resize' 1366x634
main debug: looking for hw decoder module matching "any": 1 candidates
main debug: no hw decoder modules matched
avcodec debug: trying format vdpau
In "Hardware decoding" I can only select automatic, vdpau, or disabled, but not VAAPI.
I have the latest libavcodec-extra59 from Ubuntu 23.04, but not libavcodec59 as it seem to be incompatible with libavcodec-extra.
Does someone have an idea of why it doesn't work ?