Hallo jojo61,
ich habe mal nvidia-drivers 550.67 mit softhdcuvid ausprobiert, bekomme allerdings einen Segfault.
kernel: 6.8.2
ffmpeg: 6.1.1
nvidia-cuda-toolkit: 12.3.2
Hier der bt:
Code: bt
[Switching to Thread 0x7feb6edfd6c0 (LWP 18015)]
0x00007febf04a712c in createTextureDst (decoder=decoder@entry=0x557d54023710,
anz=<optimized out>, size_x=size_x@entry=720, size_y=size_y@entry=576,
PixFmt=PixFmt@entry=AV_PIX_FMT_NV12) at video.c:2332
2332 fd = dup(decoder->pl_frames[i].planes[n].texture->shared_mem.handle.fd);
(gdb) bt
#0 0x00007febf04a712c in createTextureDst (decoder=decoder@entry=0x557d54023710, anz=<optimized out>, size_x=size_x@entry=720, size_y=size_y@entry=576, PixFmt=PixFmt@entry=AV_PIX_FMT_NV12) at video.c:2332
#1 0x00007febf04a77c7 in CuvidCreateSurfaces (PixFmt=AV_PIX_FMT_NV12, height=<optimized out>, width=<optimized out>, decoder=0x557d54023710) at video.c:1598
#2 CuvidSetupOutput (decoder=0x557d54023710) at video.c:2667
#3 Cuvid_get_format (decoder=0x557d54023710, video_ctx=0x7feb24000b70, fmt=<optimized out>) at video.c:2984
#4 0x00007febee2c37b8 in ??? () at /usr/lib64/libavcodec.so.60
#5 0x00007febee2a519a in ??? () at /usr/lib64/libavcodec.so.60
#6 0x00007febeb2201e0 in ??? () at /usr/lib64/libnvcuvid.so.1
#7 0x00007febeb280ef8 in ??? () at /usr/lib64/libnvcuvid.so.1
#8 0x00007febeb25f017 in ??? () at /usr/lib64/libnvcuvid.so.1
#9 0x00007febeb25f292 in ??? () at /usr/lib64/libnvcuvid.so.1
#10 0x00007febeb281323 in ??? () at /usr/lib64/libnvcuvid.so.1
#11 0x00007febeb28197e in ??? () at /usr/lib64/libnvcuvid.so.1
#12 0x00007febeb21ff7b in ??? () at /usr/lib64/libnvcuvid.so.1
#13 0x00007febee2a3e35 in ??? () at /usr/lib64/libavcodec.so.60
#14 0x00007febee2a478c in ??? () at /usr/lib64/libavcodec.so.60
#15 0x00007febee2c2072 in ??? () at /usr/lib64/libavcodec.so.60
#16 0x00007febee2c28ec in avcodec_send_packet () at /usr/lib64/libavcodec.so.60
#17 0x00007febf04b0300 in CodecVideoDecode (decoder=0x557d53cddbe0, avpkt=0x7feb6edfcd50) at codec.c:525
#18 0x00007febf04a0fd0 in VideoDecodeInput (stream=0x7febf04d0f00 <MyVideoStream>, trick=<optimized out>) at softhddev.c:1921
#19 0x00007febf04a4415 in CuvidDisplayHandlerThread () at video.c:5000
#20 0x00007febf04a4397 in VideoDisplayHandlerThread (dummy=<optimized out>) at video.c:5777
#21 0x00007febf0c041d3 in ??? () at /lib64/libc.so.6
#22 0x00007febf0c8580c in ??? () at /lib64/libc.so.6
Display More
Code: bt full
(gdb) bt full
#0 0x00007febf04a712c in createTextureDst (decoder=decoder@entry=0x557d54023710, anz=<optimized out>, size_x=size_x@entry=720, size_y=size_y@entry=576, PixFmt=PixFmt@entry=AV_PIX_FMT_NV12) at video.c:2332
ok = true
ext_desc = {type = 1860157936, handle = {fd = -840531456, win32 = {handle = 0x735526dbcde68200, name = 0x7feb24bc3600}}, size = 0, flags = 576, reserved = {0, 603982704, 32747, 23, 0, 720, 0, 1409431312, 21885, 4031393659, 32747, 16, 48, 1860156720, 32747, 1860156528}}
tex_desc = {offset = 0, arrayDesc = {Width = 720, Height = 140651325567264, Depth = 720, Format = 576, NumChannels = 0, Flags = 7}, numLevels = 1860156720, reserved = {32747, 3960484482, 32747, 616726208, 0, 12, 0, 603979824, 32747, 4294967192, 4294967295, 1860156952, 32747, 2, 0, 0}}
n = <optimized out>
i = 0
size = 2
fd = <optimized out>
fmt = 0x7feb580246d0
tex = <optimized out>
img = <optimized out>
pl = 0x557d54023a98
#1 0x00007febf04a77c7 in CuvidCreateSurfaces (PixFmt=AV_PIX_FMT_NV12, height=<optimized out>, width=<optimized out>, decoder=0x557d54023710) at video.c:1598
i = <optimized out>
i = <optimized out>
__FUNCTION__ = "CuvidCreateSurfaces"
#2 CuvidSetupOutput (decoder=0x557d54023710) at video.c:2667
#3 Cuvid_get_format (decoder=0x557d54023710, video_ctx=0x7feb24000b70, fmt=<optimized out>) at video.c:2984
fmt_idx = <optimized out>
bitformat16 = <optimized out>
deint = 0
ist = <optimized out>
__FUNCTION__ = "Cuvid_get_format"
#4 0x00007febee2c37b8 in ??? () at /usr/lib64/libavcodec.so.60
#5 0x00007febee2a519a in ??? () at /usr/lib64/libavcodec.so.60
#6 0x00007febeb2201e0 in ??? () at /usr/lib64/libnvcuvid.so.1
#7 0x00007febeb280ef8 in ??? () at /usr/lib64/libnvcuvid.so.1
#8 0x00007febeb25f017 in ??? () at /usr/lib64/libnvcuvid.so.1
#9 0x00007febeb25f292 in ??? () at /usr/lib64/libnvcuvid.so.1
#10 0x00007febeb281323 in ??? () at /usr/lib64/libnvcuvid.so.1
#11 0x00007febeb28197e in ??? () at /usr/lib64/libnvcuvid.so.1
#12 0x00007febeb21ff7b in ??? () at /usr/lib64/libnvcuvid.so.1
#13 0x00007febee2a3e35 in ??? () at /usr/lib64/libavcodec.so.60
#14 0x00007febee2a478c in ??? () at /usr/lib64/libavcodec.so.60
#15 0x00007febee2c2072 in ??? () at /usr/lib64/libavcodec.so.60
#16 0x00007febee2c28ec in avcodec_send_packet () at /usr/lib64/libavcodec.so.60
#17 0x00007febf04b0300 in CodecVideoDecode (decoder=0x557d53cddbe0, avpkt=0x7feb6edfcd50) at codec.c:525
video_ctx = 0x7feb24000b70
frame = 0x0
ret = <optimized out>
ret1 = <optimized out>
got_frame = 0
consumed = 0
first_time = <optimized out>
pkt = 0x7feb6edfcd50
#18 0x00007febf04a0fd0 in VideoDecodeInput (stream=0x7febf04d0f00 <MyVideoStream>, trick=<optimized out>) at softhddev.c:1921
filled = <optimized out>
avpkt = 0x7febf04d1420 <MyVideoStream+1312>
saved_size = 1048576
#19 0x00007febf04a4415 in CuvidDisplayHandlerThread () at video.c:5000
i = 0
err = <optimized out>
allfull = 0
decoded = <optimized out>
filled = <optimized out>
nowtime = {tv_sec = 301, tv_nsec = 670824549}
decoder = 0x557d54023710
#20 0x00007febf04a4397 in VideoDisplayHandlerThread (dummy=<optimized out>) at video.c:5777
__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {140649154206940, 6294807760410578545, -160, 0, 140736397976800, 140649145815040, -6301244028268245391, -6301583876245746063}, __mask_was_saved = 0}}, __pad = {0x7feb6edfcef0, 0x0, 0x0, 0x0}}
__cancel_routine = 0x7febf04a2f90 <delete_decode>
__cancel_arg = <optimized out>
__not_first_call = <optimized out>
#21 0x00007febf0c041d3 in ??? () at /lib64/libc.so.6
#22 0x00007febf0c8580c in ??? () at /lib64/libc.so.6
Display More
Der Test ist wahrscheinlich noch zu früh, aber vielleicht kannst Du ja das Problem erkennen und einen Patch machen.
Ich würde auch wieder Testen.
Danke und Gruß