Den 04.12.2025 17:03, skrev Andrew Randrianasulu:


чт, 4 дек. 2025 г., 18:22 Terje J. Hanssen <[email protected]>:



    Den 03.12.2025 23:44, skrev Andrew Randrianasulu:


    ср, 3 дек. 2025 г., 23:07 Terje J. Hanssen <[email protected]>:


        Den 03.12.2025 17:05, skrev Andrew Randrianasulu:


        ср, 3 дек. 2025 г., 18:18 Terje J. Hanssen
        <[email protected]>:


            Den 02.12.2025 21:18, skrev Andrew Randrianasulu:


            вт, 2 дек. 2025 г., 22:45 Terje J. Hanssen
            <[email protected]>:



                Den 02.12.2025 15:48, skrev Andrew Randrianasulu:
                On Tue, Dec 2, 2025 at 5:11 PM Terje J. Hanssen via ffmpeg-user
                <[email protected]> <mailto:[email protected]> wrote:
                Hello list members

                Any ideas and suggestions to how to get ffmpeg vulkan video 
transcoding
                to work?
                All my attempts so far are unsuccessful and finish with 
Conversion failed!
                Below is one code line with verbose output.

                Terje J. Hanssen

                --------

                My system and hardware
                    Kernel: 6.12.59-1-longterm arch: x86_64 bits: 64
                    Desktop: GNOME v: 49.1 Distro: openSUSE Tumbleweed-Slowroll 
20251106
                Graphics:   Device-1: Intel DG2 [Arc A750] driver: i915 v: 
kernel

                with
                Vulkan v. 25.2.6, Mesa  v. 25.2.6 and system ffmpeg-8 v. 8.0 
(from Packman)

                I can verify the following ffmpeg Vulkan video support:

                ffmpeg -hide_banner -encoders | grep vulkan
                   V....D av1_vulkan           AV1 (Vulkan) (codec av1)
                   V....D ffv1_vulkan          FFmpeg video codec #1 (Vulkan) 
(codec ffv1)
                   V....D h264_vulkan          H.264/AVC (Vulkan) (codec h264)
                   V....D hevc_vulkan          H.265/HEVC (Vulkan) (codec hevc)

                And by enabling both Vulkan video decode and encode support in 
the ANV
                driver via the following environment variable

                          export ANV_DEBUG="video-decode,video-encode"

                I can verify the following Vulkan Video Encode support:

                vulkaninfo | grep -i encode
                      VK_KHR_video_encode_h264                      : extension 
revision 14
                      VK_KHR_video_encode_h265                      : extension 
revision 14
                      VK_KHR_video_encode_queue                     : extension 
revision 12
                          queueFlags                  = 
QUEUE_VIDEO_DECODE_BIT_KHR |
                QUEUE_VIDEO_ENCODE_BIT_KHR
                                  VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
                                  VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR

                --------

                ffmpeg -hide_banner -v verbose -init_hw_device "vulkan=vk:0" 
-hwaccel
                vulkan -hwaccel_output_format vulkan -i hdv09_04.m2t -c:v 
h264_vulkan -y
                hdv09_04_h264_vulkan.mp4
                I *suspect* mpeg2 decoding is not supported by Vulkan video ? 
Unless
                someone reesurrect Mesa shaders that used to work at some point 
as
                vulkan compute shaders ?

                Try different (h264, h265, vp9, av1) input file ?

                What I can tell is that ffmpeg vulkan decoding
                benchmarks using mpeg2 seemingly has worked better
                for a long time according to
                https://trac.ffmpeg.org/wiki/HWAccelIntro#Vulkan

                ffmpeg -hide_banner -init_hw_device "vulkan=vk:0"
                -hwaccel vulkan -hwaccel_output_format vulkan -i
                hdv09_04.m2t -f null - -benchmark
                .........snip
                [mpegts @ 0x563c726901c0] PES packet size
                mismatch.88 bitrate=N/A speed= 145x elapsed=0:00:01.50
                [mpegts @ 0x563c726901c0] Packet corrupt (stream =
                1, dts = 258142320).
                [mpeg2video @ 0x563c72653500] ac-tex damaged at 10 61
                [mpeg2video @ 0x563c72653500] Warning MVs not available
                [mpeg2video @ 0x563c72653500] concealing 630 DC,
                630 AC, 630 MV errors in P frame
                [vist#0:0/mpeg2video @ 0x563c726e3b00]
                [dec:mpeg2video @ 0x563c726d4e40] corrupt decoded frame
                [out#0/null @ 0x563c726d5140] video:2422KiB
                audio:44770KiB subtitle:0KiB other streams:0KiB
                global headers:0KiB muxing overhead: unknown
                frame= 5963 fps=3635 q=-0.0 Lsize=N/A
                time=00:03:58.77 bitrate=N/A speed= 146x
                elapsed=0:00:01.64
                bench: utime=19.196s stime=0.323s rtime=1.641s
                bench: maxrss=185604KiB


            Strange, may be some software decoding fallback patch
            now gets broken in ffmpeg? URL dies not list MPEG2 as
            Vulkan decodeable ...

            Do you have older ffmpeg (7.0, 7.1) around?



            I reinstalled ffmpeg-7 v. 7.1 (Packman version) and
            retested the same mpeg2video (hdv1080i50.m2t) video file
            using the Vulkan decoding benchmark.

            First, the normal output seemingly looks better than the
            previous ffmpeg-8 test:

            ffmpeg -hide_banner -init_hw_device "vulkan=vk:0"
            -hwaccel vulkan -hwaccel_output_format vulkan -i
            hdv09_04.m2t -f null - -benchmark

            .....snip

            [mpegts @ 0x55b810d2c180] PES packet size mismatch.00
            bitrate=N/A speed= 148x
            [mpegts @ 0x55b810d2c180] Packet corrupt (stream = 1,
            dts = 258142320).
            [mpeg2video @ 0x55b810cf0940] ac-tex damaged at 10 61
            [mpeg2video @ 0x55b810cf0940] Warning MVs not available
            [mpeg2video @ 0x55b810cf0940] concealing 630 DC, 630 AC,
            630 MV errors in P frame
            [vist#0:0/mpeg2video @ 0x55b811857440] [dec:mpeg2video @
            0x55b8118595c0] corrupt decoded frame
            [out#0/null @ 0x55b811864f80] video:2562KiB
            audio:44770KiB subtitle:0KiB other streams:0KiB global
            headers:0KiB muxing overhead: unknown

            frame= 5963 fps=3693 q=-0.0 Lsize=N/A time=00:03:58.77
            bitrate=N/A speed= 148x


        Looking at speed I think ffmpeg 7.1 just demuxes, without
        even trying to decode? Can you test with some light -c:v
        like again mpeg2 or mpeg4 ?

        This is using ffmpeg-7. Please correct my code lines. I can
        try again using ffmpeg-8

        ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -hwaccel
        vulkan -hwaccel_output_format vulkan -i hdv09_04.m2t -c:v
        h264_vulkan hdv09_04_h264_vulkan.mp4
        ...............
        Impossible to convert between the formats supported by the
        filter 'Parsed_null_0' and the filter 'auto_scale_0'


    may be try to add -noautoscale ?

        I think it might fail without hwdownload,format=yuv420p
        filters in this case ... But I suspect it will abort earlier?
        May be ffmpeg 8.0 (at least as build for SuSE ) just
        complain at decoding moment, instead of just silently
        demuxing without decoding anything?

        What happen if you set hwaccel to none or vaapi ? I guess ot
        should decode in sw or via vaapi  in such cases, so there
        will be more realistic decoding benchmark.

    I think it should be -hwaccel none" , not just hwaccel.

    Just try to drop that part of cmd line? Ffmpeg should use
    software decoder in this case ....

    I have cleaned away some previous output and testet again with
    same errors below:

    Try -noautoscale

    ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -hwaccel vulkan
    -hwaccel_output_format vulkan -i hdv09_04.m2t -noautoscale -y -c:v
    h264_vulkan hdv09_04_h264_vulkan.mp4
    .........
    Impossible to convert between the formats supported by the filter
    'Parsed_null_0' and the filter 'auto_scale_0'
    [vf#0:0 @ 0x561882873200] Error reinitializing filters!
    [vf#0:0 @ 0x561882873200] Task finished with error code: -38
    (Function not implemented)
    [vf#0:0 @ 0x561882873200] Terminating thread with return code -38
    (Function not implemented)
    [vost#0:0/h264_vulkan @ 0x5618828af640] Could not open encoder
    before EOF
    [vost#0:0/h264_vulkan @ 0x5618828af640] Task finished with error
    code: -22 (Invalid argument)
    [vost#0:0/h264_vulkan @ 0x5618828af640] Terminating thread with
    return code -22 (Invalid argument)
    [out#0/mp4 @ 0x561882938cc0] Nothing was written into output file,
    because at least one of its streams received no packets.
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A
    [aac @ 0x5618828a3880] Qavg: 435.976
    Conversion failed!
    ---------


then it was not it ....



    Try -hwaccel none

    ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -hwaccel none 
    -i hdv09_04.m2t -vf "hwdownload,format=yuv420p" -c:v h264_vulkan
    hdv09_04_h264_vulkan.mp4




I think you need hwupload,format=vulkan, so ffmpeg will decode in software, then Upload result to vulkan device, formatted as vulkan driver (?) need.


See my other examples with ffv1_vulkan (I tested with *.mts file you send me earlier, it worked with -vf hwupload,format=vulkan" even if hwaccel was set to vulkan for input file.)

ffmpeg -init_hw_device vulkan -i 20081103140154.m2t -an -vf hwupload,format=vulkan  -level 4 -strict -2 -c:v ffv1_vulkan -frames 200 v.mkv

So I think this part (decoding in software if hwaccel failed to contain codec) works ok ...

ffv1_vulkan works fine for me too - here with ffmpeg-8 and also without export variables set(!?)

ffmpeg -hide_banner -init_hw_device vulkan -i 20081103140154.m2t -vf hwupload,format=vulkan  -level 4 -strict -2 -c:v ffv1_vulkan -y -frames 200 20081103140154_m2t_ffv1_vulkan.mkv

[mpegts @ 0x5582928a53c0] stream 0 : no PTS found at end of file, duration not set [mpegts @ 0x5582928a53c0] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options [mpegts @ 0x5582928a53c0] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options

Input #0, mpegts, from '20081103140154.m2t':
  Duration: 00:00:13.44, start: 1042.400000, bitrate: 26598 kb/s
  Program 100
  Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, start 1042.480000
    Side data:
      cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 vbv_delay: N/A   Stream #0:1[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s, start 1042.400000   Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0), start 1042.400000   Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1), start 1042.400000 [aost#0:1/libopus @ 0x55829286b880] Applying unspecific -frames to non video streams, maybe you meant -vframes ?
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> ffv1 (ffv1_vulkan))
  Stream #0:1 -> #0:1 (mp2 (native) -> opus (libopus))
Press [q] to stop, [?] for help
[libopus @ 0x55829286bb00] No bit rate set. Defaulting to 96000 bps.
[ffv1_vulkan @ 0x5582928f5b00] Async buffers: 2MiB per context, 2MiB total, depth: 1

Output #0, matroska, to '20081103140154_m2t_ffv1_vulkan.mkv':
  Metadata:
    encoder         : Lavf62.3.100
  Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), vulkan(tv, bt709, top coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 1k tbn
    Metadata:
      encoder         : Lavc62.11.100 ffv1_vulkan
  Stream #0:1: Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000 Hz, stereo, s16, 96 kb/s
    Metadata:
      encoder         : Lavc62.11.100 libopus
[out#0/matroska @ 0x5582933d5b80] video:74790KiB audio:39KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.008941%

frame=  100 fps= 27 q=-0.0 Lsize=   74835KiB time=00:00:04.00 bitrate=153263.1kbits/s speed= 1.1x elapsed=0:00:03.63

----------------------

But why not the equivalent cmd with h264_vulkan? Had to set export variables here:

ffmpeg -hide_banner -init_hw_device vulkan -i hdv09_04.m2t -vf hwupload,format=vulkan -c:v h264_vulkan -y hdv09_04_h264_vulkan.mp4

[mpeg2video @ 0x556d16801180] Invalid frame dimensions 0x0.
    Last message repeated 3 times
[mpegts @ 0x556d1687c280] PES packet size mismatch
[mpegts @ 0x556d1687c280] Packet corrupt (stream = 1, dts = 258142320).
[mpegts @ 0x556d1687c280] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options [mpegts @ 0x556d1687c280] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options

Input #0, mpegts, from 'hdv09_04.m2t':
  Duration: 00:03:59.06, start: 2629.496000, bitrate: 26110 kb/s
  Program 100
  Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, start 2629.680000
    Side data:
      cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 vbv_delay: N/A   Stream #0:1[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s, start 2629.496000   Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0), start 2629.496000   Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1), start 2629.496000
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_vulkan))
  Stream #0:1 -> #0:1 (mp2 (native) -> aac (native))
Press [q] to stop, [?] for help

[h264_vulkan @ 0x556d16840700] No rate control settings specified, using fixed QP = 18 [h264_vulkan @ 0x556d16840700] Pixel format yuv420p of input frames not supported! [vost#0:0/h264_vulkan @ 0x556d168168c0] [enc:h264_vulkan @ 0x556d16843200] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height. [vf#0:0 @ 0x556d16840ac0] Error sending frames to consumers: Invalid argument [vf#0:0 @ 0x556d16840ac0] Task finished with error code: -22 (Invalid argument) [vf#0:0 @ 0x556d16840ac0] Terminating thread with return code -22 (Invalid argument) [vost#0:0/h264_vulkan @ 0x556d168168c0] [enc:h264_vulkan @ 0x556d16843200] Could not open encoder before EOF [vost#0:0/h264_vulkan @ 0x556d168168c0] Task finished with error code: -22 (Invalid argument) [vost#0:0/h264_vulkan @ 0x556d168168c0] Terminating thread with return code -22 (Invalid argument) [out#0/mp4 @ 0x556d1762a040] Nothing was written into output file, because at least one of its streams received no packets. frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A elapsed=0:00:00.02
[aac @ 0x556d168ccf80] Qavg: 181.130
Conversion failed!

-----------------------------
There was specialized Vulkan encoding example at:

https://github.com/nvpro-samples/vk_video_samples/commits/main/

may be try to compile encoder part and see if it fares better than ffmpeg?


    .........
    Impossible to convert between the formats supported by the filter
    'graph -1 input from stream 0:0' and the filter 'auto_scale_0'
    [vf#0:0 @ 0x55cf0b990dc0] Error reinitializing filters!
    [vf#0:0 @ 0x55cf0b990dc0] Task finished with error code: -38
    (Function not implemented)
    [vf#0:0 @ 0x55cf0b990dc0] Terminating thread with return code -38
    (Function not implemented)
    [vost#0:0/h264_vulkan @ 0x55cf0c535100] Could not open encoder
    before EOF
    [vost#0:0/h264_vulkan @ 0x55cf0c535100] Task finished with error
    code: -22 (Invalid argument)
    [vost#0:0/h264_vulkan @ 0x55cf0c535100] Terminating thread with
    return code -22 (Invalid argument)
    [out#0/mp4 @ 0x55cf0b9d2880] Nothing was written into output file,
    because at least one of its streams received no packets.
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A
    [aac @ 0x55cf0b9ce900] Qavg: 431.170
    Conversion failed!
    -------------

    Just try to drop the -hwaccel part of cmd line? Ffmpeg should use
    software decoder in this case ....

    ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -i hdv09_04.m2t
    -vf "hwdownload,format=yuv420p" -c:v h264_vulkan
    hdv09_04_h264_vulkan.mp4
    ......
    Impossible to convert between the formats supported by the filter
    'graph -1 input from stream 0:0' and the filter 'auto_scale_0'
    [vf#0:0 @ 0x55bbd08acbc0] Error reinitializing filters!
    [vf#0:0 @ 0x55bbd08acbc0] Task finished with error code: -38
    (Function not implemented)
    [vf#0:0 @ 0x55bbd08acbc0] Terminating thread with return code -38
    (Function not implemented)
    [vost#0:0/h264_vulkan @ 0x55bbd0972240] Could not open encoder
    before EOF
    [vost#0:0/h264_vulkan @ 0x55bbd0972240] Task finished with error
    code: -22 (Invalid argument)
    [vost#0:0/h264_vulkan @ 0x55bbd0972240] Terminating thread with
    return code -22 (Invalid argument)
    [out#0/mp4 @ 0x55bbd145fd80] Nothing was written into output file,
    because at least one of its streams received no packets.
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A
    [aac @ 0x55bbd096fac0] Qavg: 430.072
    Conversion failed!

    ----------------

    try to drop the "-init_hw_device "vulkan=vk:0"-hwaccel part" of
    cmd line? Ffmpeg should use software decoder in this case ....

    ffmpeg -hide_banner -i hdv09_04.m2t -vf
    "hwdownload,format=yuv420p" -c:v h264_vulkan hdv09_04_h264_vulkan.mp4
    ..........
    Impossible to convert between the formats supported by the filter
    'graph -1 input from stream 0:0' and the filter 'auto_scale_0'
    [vf#0:0 @ 0x55ce82016ec0] Error reinitializing filters!
    [vf#0:0 @ 0x55ce82016ec0] Task finished with error code: -38
    (Function not implemented)
    [vf#0:0 @ 0x55ce82016ec0] Terminating thread with return code -38
    (Function not implemented)
    [vost#0:0/h264_vulkan @ 0x55ce821dc780] Could not open encoder
    before EOF
    [vost#0:0/h264_vulkan @ 0x55ce821dc780] Task finished with error
    code: -22 (Invalid argument)
    [vost#0:0/h264_vulkan @ 0x55ce821dc780] Terminating thread with
    return code -22 (Invalid argument)
    [out#0/mp4 @ 0x55ce82041940] Nothing was written into output file,
    because at least one of its streams received no packets.
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A
    [aac @ 0x55ce82045040] Qavg: 432.921
    Conversion failed!

    ----------------

    I have just partly tested with
    "hwupload_vulkan,format=yuv420p,auto_scale_0,hwdownload,format=yuv420p"
    with(out) "-pix_fmt yuv420p/" /according to a google-ai search for
    ....
    vulkan Impossible to convert between the formats supported by the
    filter 'Parsed_null_0' and the filter 'auto_scale_0'

    /Link 'Parsed_null_0.default' -> 'auto_scale_0.default':

      src: yuv420p
      dst: yuv420p

    The error message "Impossible to convert between the formats
    supported by the filter 'Parsed_null_0' and the filter
    'auto_scale_0'" typically occurs when using hardware acceleration
    (hwaccel) with FFmpeg and a software filter is implicitly called,
    or when there is a mismatch in the expected and actual pixel
    formats, even if both are ostensibly yuv420p.

    The core issue is that hardware decoders/encoders often only
    support a limited set of pixel formats or require explicit
    instructions (filters) to move data between the GPU and CPU memory
    spaces.

    Common Causes and Solutions

        Missing hwupload or hwdownload filters:

    When using hardware acceleration, the video frames reside in the
    GPU's memory. If a software filter (like an implicit auto_scale)
    is used, the data needs to be transferred to system RAM (CPU
    accessible) using hwdownload and potentially back to the GPU using
    hwupload.
    This is a common requirement when mixing hardware and software
    filters.

            Solution:

    Explicitly add hwupload and hwdownload to your filter chain in
    your FFmpeg command. The exact filter name depends on the specific
    hardware (e.g., hwupload_vulkan, hwupload_cuda, etc.).

            Example (Conceptual with Vulkan):

            ffmpeg -hwaccel vulkan -i input.mp4 -vf
    "hwupload_vulkan,format=yuv420p,auto_scale_0,hwdownload,format=yuv420p"
    -c:v <vulkan_encoder> output.mp4

        (Note: the specific filter names might need adjustment based
    on your FFmpeg version and hardware)

    Implicit Scaling:

    The error mentions auto_scale_0, which implies FFmpeg is trying to
    automatically scale the video for some reason (perhaps the output
    resolution is different from the input, or another filter requires
    a specific resolution). Hardware scaling filters should be used
    instead of the generic software scale filter when staying on the GPU.

        Solution:

    Use the hardware-accelerated scaling filter relevant to your
    platform (e.g., scale_vulkan, scale_cuda, scale_qsv) and ensure
    the output resolution is explicitly defined if needed.

    Incorrect Pixel Format Specification:

    Specifying -pix_fmt yuv420p manually might conflict with the
    default pixel format the hardware decoder or encoder is using
    (which is often nv12 or p010le for 10-bit content when using
    hardware acceleration). Even if the name is the same, the memory
    layout on the GPU can be different.

        Solution:

    Try removing the -pix_fmt yuv420p argument and let FFmpeg
    automatically negotiate the best format, or explicitly set the
    pixel format compatible with your hardware (e.g., -pix_fmt nv12).

    Driver Issues:

    Ensure you have the latest drivers for your graphics card that
    fully support the Vulkan video extensions.

    Steps to Fix

    To provide a precise command fix, the original FFmpeg command you
    are using is needed. In the meantime, the general approach is:

        Remove redundant -pix_fmt flags.
        Ensure all filters in the chain are compatible with the
    hardware context or use explicit hwupload/hwdownload to move data.
        Use hardware-specific filters (like scale_vulkan or similar)
    instead of generic filters if possible./

    -----------------------------


        --------

        My previous VAAPI example (25/5-2025)

        ffmpeg -hide_banner -init_hw_device vaapi -i hdv09_04.m2t -vf
        format=nv12,hwupload -c:v hevc_vaapi -y
        hdv09_04_hevc_vaapi_nv12.mp4
        ......
        [mpegts @ 0x5562fa5b1a80] PES packet size mismatch0:03:54.80
        bitrate=11682.6kbits/s speed=23.5x
        [mpegts @ 0x5562fa5b1a80] Packet corrupt (stream = 1, dts =
        258142320).
        [mpeg2video @ 0x5562fa5f5840] ac-tex damaged at 10 61
        [mpeg2video @ 0x5562fa5f5840] Warning MVs not available
        [mpeg2video @ 0x5562fa5f5840] concealing 630 DC, 630 AC, 630
        MV errors in P frame
        [vist#0:0/mpeg2video @ 0x5562fa5e4280] [dec:mpeg2video @
        0x5562fa750f80] corrupt decoded frame
        [out#0/mp4 @ 0x5562fa721b40] video:335894KiB audio:3774KiB
        subtitle:0KiB other streams:0KiB global headers:0KiB muxing
        overhead: 0.048351%

        frame= 5963 fps=586 q=-0.0 Lsize= 339832KiB time=00:03:58.77
        bitrate=11659.1kbits/s speed=23.5x
        [aac @ 0x5562fa5e7640] Qavg: 488.890


    Yeah, 586 fps sounds more accurate ...



        It sort of sad even h264 does not transcode via Vulkan only.
        You can try to isolate was it (vulkan) decoder or vulkan
        encoder problem by forcing hwaccel to none while keeping
        -c:v at Vulkan encoder. Look out for hwdownload/hwupload and
        format filters, they still not inserted automatically,  as
        far as I can see.

        Sorry if it sounds like too much work, as you noted this is
        a bit of bleeding edge so surprises happen.


                ------

                I have tried some other input files, here one mp4
                that doesn't have the same errors, but also
                terminate with Conversion failed!

                ffmpeg -hide_banner -init_hw_device "vulkan=vk:0"
                -hwaccel vulkan -hwaccel_output_format vulkan -i
                mp4-example-video-download-full-hd-1920x1080.mp4
                -c:v h264_vulkan -y
                mp4-example-video-download-full-hd-1920x1080_h264_vulkan.mp4
                ..........snip
                [h264_vulkan @ 0x556fed400d40] Unable to perform
                query: VK_ERROR_DEVICE_LOST!psed=0:00:01.00



            wow, never saw this one! I am afraid something in
            kernel driver or ANV driver was upset ... With less
            Intel developers around I am not sure if such error
            will be diagnosed quickly ....

            You probably can try mesa3d issue tracker, may be it
            will get some developer attention this way ...


_______________________________________________
ffmpeg-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to