Tonga UVD 4Kx4K = failed to allocate a buffer
Submitted by Andy Furniss
Assigned to Default DRI bug account
Description
I see >= tonga uvd height has recently been increased -
https://cgit.freedesktop.org/mesa/mesa/commit/?id=353a4f844f9e845dad93de9c28fa0d484b4b92d3
radeon/uvd: increase max height to 4096 for VI and newer
With this issue 'mpv --hwdec=vdpau --vo=vdpau <stream>
' fails
for vdpau decode if the stream height is 4096. Vdpau decode of
height upto 4096 is necessary usecase on amdgpu driver for VI
and newer platforms.
The fix is in driver specific implementation of "Decoder Query Capabilities" API to return 4096 for VI and newer platforms. With this fix vdpauinfo reports height support as 4096 and mpv for vdpau decode works fine for 4096 height streams.
On agd5f drm-fixes-4.5 4096x4096 fails for me (also fails with --vo vdpau)
andy [~]$ mpv --hwdec=vdpau /mnt/sdb1/ffmpeg-mpl-tests/x264-4096.mkv Playing: /mnt/sdb1/ffmpeg-mpl-tests/x264-4096.mkv (+) Video --vid=1 (*) (h264) amdgpu: Failed to allocate a buffer: amdgpu: size : 0 bytes amdgpu: alignment : 4096 bytes amdgpu: domains : 2 amdgpu: Failed to allocate a buffer: amdgpu: size : 0 bytes amdgpu: alignment : 4096 bytes amdgpu: domains : 2 EE radeon_uvd.c:1109 ruvd_create_decoder UVD - Can't allocated bitstream buffers. [vo/opengl/x11] Disabling screensaver failed (-1). Make sure the xdg-screensaver script is installed. Using software decoding. VO: [opengl] 4096x4096 => 7282x4096 yuv420p
dmesg
[ 8308.529176] [TTM] Illegal buffer object size [ 8308.529210] [drm:amdgpu_gem_object_create [amdgpu]] ERROR Failed to allocate GEM object (0, 2, 4096, -22) [ 8308.529326] [TTM] Illegal buffer object size [ 8308.529339] [drm:amdgpu_gem_object_create [amdgpu]] ERROR Failed to allocate GEM object (0, 2, 4096, -22)
Version: git