[FFmpeg-trac] #10046(avfilter:new): Vulkan filters failing with "There are no supported modifiers for the given sw_format" message

FFmpeg trac at avcodec.org
Thu Nov 17 22:47:59 EET 2022


#10046: Vulkan filters failing with "There are no supported modifiers for the given
sw_format" message
-------------------------------------+-------------------------------------
             Reporter:  Dennis E.    |                     Type:  defect
  Mungai                             |
               Status:  new          |                 Priority:  normal
            Component:  avfilter     |                  Version:  git-
                                     |  master
             Keywords:  vulkan       |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 Run this command with any input, quite trivial to test with either
 {{{libplacebo}}} or even {{{scale_vulkan}}}:

 {{{
 ffmpeg -v verbose -init_hw_device vulkan=vul -i "overlay.mpg" -vf
 "hwupload,libplacebo=w=1920:h=1080:format=yuv420p,hwdownload,format=yuv420p"
 "output.mkv" -y
 }}}

 The command(s) will fail with the warnings shown:
 {{{
 ffmpeg -v verbose -init_hw_device vulkan=vul -i "overlay.mpg" -vf
 "hwupload,libplacebo=w=1920:h=1080:format=yuv420p,hwdownload,format=yuv420p"
 "output.mkv" -y
 ffmpeg version N-109125-g2e53376a9b Copyright (c) 2000-2022 the FFmpeg
 developers
   built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
   configuration: --pkg-config-flags=--static --enable-static --disable-
 shared --prefix=/home/brainiarc7 --bindir=/home/brainiarc7/bin --enable-
 cuda-nvcc --enable-cuvid --enable-libnpp --extra-
 cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64/
 --enable-nvenc --enable-libass --enable-libfreetype --disable-debug
 --enable-gpl --cpu=native --enable-libfdk-aac --enable-libx264 --enable-
 libx265 --enable-openssl --enable-librtmp --enable-libzvbi --enable-
 version3 --enable-opencl --enable-pic --enable-librav1e --enable-
 libglslang --enable-vulkan --enable-libsrt --enable-libsvtav1 --enable-
 libvpx --enable-libplacebo --enable-librav1e --nvccflags='-arch=native'
 --extra-libs='-lpthread -lm -lz -ldl' --enable-nonfree
   libavutil      57. 42.100 / 57. 42.100
   libavcodec     59. 52.102 / 59. 52.102
   libavformat    59. 34.101 / 59. 34.101
   libavdevice    59.  8.101 / 59.  8.101
   libavfilter     8. 50.100 /  8. 50.100
   libswscale      6.  8.112 /  6.  8.112
   libswresample   4.  9.100 /  4.  9.100
   libpostproc    56.  7.100 / 56.  7.100
 [AVHWDeviceContext @ 0x55cb387e7a40] Supported validation layers:
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_MESA_device_select
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_LUNARG_gfxreconstruct
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_LUNARG_screenshot
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_MESA_overlay
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_KHRONOS_validation
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_LUNARG_monitor
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_LUNARG_api_dump
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_KHRONOS_profiles
 [AVHWDeviceContext @ 0x55cb387e7a40]    VK_LAYER_KHRONOS_synchronization2
 [AVHWDeviceContext @ 0x55cb387e7a40] GPU listing:
 [AVHWDeviceContext @ 0x55cb387e7a40]     0: NVIDIA GeForce RTX 2080
 (discrete) (0x1ed0)
 [AVHWDeviceContext @ 0x55cb387e7a40]     1: llvmpipe (LLVM 13.0.1, 256
 bits) (software) (0x0)
 [AVHWDeviceContext @ 0x55cb387e7a40] Device 0 selected: NVIDIA GeForce RTX
 2080 (discrete) (0x1ed0)
 [AVHWDeviceContext @ 0x55cb387e7a40] Queue families:
 [AVHWDeviceContext @ 0x55cb387e7a40]     0: graphics compute transfer
 sparse (queues: 16)
 [AVHWDeviceContext @ 0x55cb387e7a40]     1: transfer sparse (queues: 2)
 [AVHWDeviceContext @ 0x55cb387e7a40]     2: compute transfer sparse
 (queues: 8)
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_KHR_push_descriptor
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_KHR_sampler_ycbcr_conversion
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_KHR_synchronization2
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_KHR_external_memory_fd
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_EXT_external_memory_dma_buf
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_EXT_image_drm_format_modifier
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_KHR_external_semaphore_fd
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device extension
 VK_EXT_external_memory_host
 [AVHWDeviceContext @ 0x55cb387e7a40] Using device: NVIDIA GeForce RTX 2080
 [AVHWDeviceContext @ 0x55cb387e7a40] Alignments:
 [AVHWDeviceContext @ 0x55cb387e7a40]
 optimalBufferCopyRowPitchAlignment: 1
 [AVHWDeviceContext @ 0x55cb387e7a40]     minMemoryMapAlignment:
 64
 [AVHWDeviceContext @ 0x55cb387e7a40]     minImportedHostPointerAlignment:
 4096
 [AVHWDeviceContext @ 0x55cb387e7a40] Using queue family 0 (queues: 16) for
 graphics
 [AVHWDeviceContext @ 0x55cb387e7a40] Using queue family 1 (queues: 2) for
 transfers
 [AVHWDeviceContext @ 0x55cb387e7a40] Using queue family 2 (queues: 8) for
 compute
 [mpegts @ 0x55cb38b82440] parser not found for codec none, packets or
 times may be invalid.
 [h264 @ 0x55cb38b88180] Reinit context to 1920x1088, pix_fmt: yuv420p
 [h264 @ 0x55cb38b88180] mmco: unref short failure
 [h264 @ 0x55cb38b88180] Increasing reorder buffer to 2
 [h264 @ 0x55cb38b88180] mmco: unref short failure
 [h264 @ 0x55cb38b88180] Increasing reorder buffer to 3
 [mpegts @ 0x55cb38b82440] max_analyze_duration 7000000 reached at 7000000
 microseconds st:1
 [mpegts @ 0x55cb38b82440] start time for stream 0 is not set in
 estimate_timings_from_pts
 [mpegts @ 0x55cb38b82440] PES packet size mismatch
 [mpegts @ 0x55cb38b82440] Packet corrupt (stream = 2, dts = 5102226151).
 [mpegts @ 0x55cb38b82440] PES packet size mismatch
 [mpegts @ 0x55cb38b82440] Packet corrupt (stream = 3, dts = 5102226151).
 [mpegts @ 0x55cb38b82440] PES packet size mismatch
 [mpegts @ 0x55cb38b82440] Packet corrupt (stream = 4, dts = 5102223271).
 [mpegts @ 0x55cb38b82440] Could not find codec parameters for stream 7
 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
 Consider increasing the value for the 'analyzeduration' (0) and
 'probesize' (5000000) options
 Input #0, mpegts, from 'overlay.mpg':
   Duration: 00:00:16.63, start: 56675.657678, bitrate: 5128 kb/s
   Program 1537
     Metadata:
       service_name    : TF1
       service_provider: SMR6
   Stream #0:1[0x78]: Video: h264 (High), 1 reference frame ([27][0][0][0]
 / 0x001B), yuv420p(tv, bt709, top first, left), 1920x1080 (1920x1088) [SAR
 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn
   Stream #0:2[0x82](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 stereo, fltp, 128 kb/s
   Stream #0:3[0x83](qaa): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 stereo, fltp, 128 kb/s
   Stream #0:4[0x84](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 stereo, fltp, 96 kb/s (visual impaired) (descriptions)
   Stream #0:5[0x96](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
 (hearing impaired)
   Stream #0:6[0x97](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
   Stream #0:7[0xaa]: Unknown: none ([5][0][0][0] / 0x0005)
   Program 1538
     Metadata:
       service_name    : NRJ12
       service_provider: SMR6
   Program 1542
     Metadata:
       service_name    : TMC
       service_provider: SMR6
   Program 1544
     Metadata:
       service_name    : TFX
       service_provider: SMR6
   Program 1545
     Metadata:
       service_name    : LCP
       service_provider: SMR6
   No Program
   Stream #0:0[0x12]: Data: epg
 Stream mapping:
   Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
   Stream #0:2 -> #0:1 (eac3 (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 [h264 @ 0x55cb3c46d000] Reinit context to 1920x1088, pix_fmt: yuv420p
 [h264 @ 0x55cb3c55d400] mmco: unref short failure
 [graph_1_in_0_2 @ 0x55cb3c8fcd40] tb:1/48000 samplefmt:fltp
 samplerate:48000 chlayout:stereo
 [h264 @ 0x55cb3c4b5380] mmco: unref short failure
 [libplacebo @ 0x55cb3bb11f80] Initialized libplacebo v5.229.1-30-gfc6cf3a
 (API v233)
 [graph 0 input from stream 0:1 @ 0x55cb3c7c4e00] w:1920 h:1080
 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1
 [libplacebo @ 0x55cb3bb11f80] Imported vulkan device properties:
 [libplacebo @ 0x55cb3bb11f80]     Device Name: NVIDIA GeForce RTX 2080
 [libplacebo @ 0x55cb3bb11f80]     Device ID: 10de:1ed0
 [libplacebo @ 0x55cb3bb11f80]     Device UUID:
 E4:37:E0:85:C6:8A:48:1D:0F:32:2A:CF:2D:50:6F:69
 [libplacebo @ 0x55cb3bb11f80]     Driver version: -2112929472
 [libplacebo @ 0x55cb3bb11f80]     API version: 1.3.205
 [libplacebo @ 0x55cb3bb11f80] Restricting API version to 1.2.0... new
 version 1.2.0
 [libplacebo @ 0x55cb3bb11f80] Memory heaps supported by device:
 [libplacebo @ 0x55cb3bb11f80]     0: flags 0x1 size 8192M
 [libplacebo @ 0x55cb3bb11f80]     1: flags 0x0 size   46G
 [libplacebo @ 0x55cb3bb11f80]     2: flags 0x1 size  246M
 [libplacebo @ 0x55cb3bb11f80] Memory summary:     0 used     0 res     0
 alloc, efficiency 100.00%, utilization 100.00%
 [libplacebo @ 0x55cb3bb11f80] shaderc SPIR-V version 1.6 rev 1
 [libplacebo @ 0x55cb3bb11f80] Initialized SPIR-V compiler 'shaderc'
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format rgba8
 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format bgra8
 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format bgr565
 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format bgr5a1
 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format rgb10a2
 supports fewer caps (0x1d401) than optimal tiling (0x1dd83), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] DRM format modifier LINEAR of format bgr10a2
 supports fewer caps (0x1d401) than optimal tiling (0x1dd81), may result in
 limited capability!
 [libplacebo @ 0x55cb3bb11f80] GPU information:
 [libplacebo @ 0x55cb3bb11f80]     GLSL version: 450 (vulkan)
 [libplacebo @ 0x55cb3bb11f80]       max_shmem_size:            49152
 [libplacebo @ 0x55cb3bb11f80]       max_group_threads:         1024
 [libplacebo @ 0x55cb3bb11f80]       max_group_size[0]:         1024
 [libplacebo @ 0x55cb3bb11f80]       max_group_size[1]:         1024
 [libplacebo @ 0x55cb3bb11f80]       max_group_size[2]:         64
 [libplacebo @ 0x55cb3bb11f80]       subgroup_size:             32
 [libplacebo @ 0x55cb3bb11f80]       min_gather_offset:         -32
 [libplacebo @ 0x55cb3bb11f80]       max_gather_offset:         31
 [libplacebo @ 0x55cb3bb11f80]     Limits:
 [libplacebo @ 0x55cb3bb11f80]       thread_safe:               1
 [libplacebo @ 0x55cb3bb11f80]       callbacks:                 1
 [libplacebo @ 0x55cb3bb11f80]       max_buf_size:
 18446744073709551615
 [libplacebo @ 0x55cb3bb11f80]       max_ubo_size:              65536
 [libplacebo @ 0x55cb3bb11f80]       max_ssbo_size:             4294967295
 [libplacebo @ 0x55cb3bb11f80]       max_vbo_size:
 18446744073709551615
 [libplacebo @ 0x55cb3bb11f80]       max_mapped_size:
 18446744073709551615
 [libplacebo @ 0x55cb3bb11f80]       max_buffer_texels:         134217728
 [libplacebo @ 0x55cb3bb11f80]       align_host_ptr:            4096
 [libplacebo @ 0x55cb3bb11f80]       max_tex_1d_dim:            32768
 [libplacebo @ 0x55cb3bb11f80]       max_tex_2d_dim:            32768
 [libplacebo @ 0x55cb3bb11f80]       max_tex_3d_dim:            16384
 [libplacebo @ 0x55cb3bb11f80]       blittable_1d_3d:           1
 [libplacebo @ 0x55cb3bb11f80]       buf_transfer:              1
 [libplacebo @ 0x55cb3bb11f80]       align_tex_xfer_pitch:      1
 [libplacebo @ 0x55cb3bb11f80]       align_tex_xfer_offset:     4
 [libplacebo @ 0x55cb3bb11f80]       max_variable_comps:        0
 [libplacebo @ 0x55cb3bb11f80]       max_constants:
 18446744073709551615
 [libplacebo @ 0x55cb3bb11f80]       max_pushc_size:            256
 [libplacebo @ 0x55cb3bb11f80]       align_vertex_stride:       1
 [libplacebo @ 0x55cb3bb11f80]       max_dispatch[0]:           2147483647
 [libplacebo @ 0x55cb3bb11f80]       max_dispatch[1]:           65535
 [libplacebo @ 0x55cb3bb11f80]       max_dispatch[2]:           65535
 [libplacebo @ 0x55cb3bb11f80]       fragment_queues:           16
 [libplacebo @ 0x55cb3bb11f80]       compute_queues:            8
 [libplacebo @ 0x55cb3bb11f80]     External API interop:
 [libplacebo @ 0x55cb3bb11f80]       UUID:
 E4:37:E0:85:C6:8A:48:1D:0F:32:2A:CF:2D:50:6F:69
 [libplacebo @ 0x55cb3bb11f80]       PCI: 0000:01:00:0
 [libplacebo @ 0x55cb3bb11f80]       buf export caps: 0x19
 [libplacebo @ 0x55cb3bb11f80]       buf import caps: 0x19
 [libplacebo @ 0x55cb3bb11f80]       tex export caps: 0x11
 [libplacebo @ 0x55cb3bb11f80]       tex import caps: 0x11
 [libplacebo @ 0x55cb3bb11f80]       sync export caps: 0x1
 [libplacebo @ 0x55cb3bb11f80]       sync import caps: 0x0
 [AVHWFramesContext @ 0x55cb3c70f000] There are no supported modifiers for
 the given sw_format
 [Parsed_hwupload_0 @ 0x55cb3bb0f380] Failed to configure output pad on
 Parsed_hwupload_0
 Error reinitializing filters!
 Failed to inject frame into filter network: Invalid argument
 Error while processing the decoded data for stream #0:1
 [AVIOContext @ 0x55cb3a8dd800] Statistics: 0 bytes written, 0 seeks, 0
 writeouts
 Terminating demuxer thread 0
 [AVIOContext @ 0x55cb38b8b0c0] Statistics: 5886096 bytes read, 3 seeks
 Conversion failed!
 }}}

 FFmpeg was built from git tip master minutes ago before testing.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10046>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list