[FFmpeg-devel] Possible incomplete commit "avcodec/nvenc: support RGB input"

Sven C. Dack sven.c.dack at sky.com
Thu Sep 8 11:49:58 EEST 2016


On 08/09/16 08:46, Timo Rothenpieler wrote:
> Am 08.09.2016 um 02:29 schrieb Sven C. Dack:
>> On 08/09/16 00:57, Hendrik Leppkes wrote:
>>> The image copying code was refactored in an earlier patch to be
>>> generic and not rely on hard-coding format info, hence the second part
>>> is not needed anymore.
>>>
>> This is not quite accurate. It doesn't explain the seg. fault. This
>> didn't happen in my patch and I am currently using my own version of
>> nvenc.c where it's working fine and without the re-factoring. I will not
>> make a second patch, but see Timo being in charge of this as he is the
>> one who signed it off. I am going to "do the Pope" and have a little faith.
>>
>> Sven
> Can you send a full backtrace of your segfault?

I've updated my git clone and I did a fully compilition just to be sure, but it 
still occurs. Funny things is it's working when run from within gdb, but core 
dumps when run from the shell.

Sven

$ ffmpeg_g -f x11grab -framerate 200 -s hd1080 -i :0.0 -c:v hevc_nvenc -y test.mkv
...
(gdb) bt
#0  0x00007fd69639ba3e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000000001018591 in av_image_copy_plane (height=8, bytewidth=7680, 
src_linesize=<optimized out>, src=<optimized out>, dst_linesize=<optimized out>, 
dst=<optimized out>) at src/libavutil/imgutils.c:296
#2  av_image_copy (dst_data=dst_data at entry=0x7ffe17cf07c0, 
dst_linesizes=dst_linesizes at entry=0x7ffe17cf07b0, 
src_data=src_data at entry=0x454e3c0, src_linesizes=src_linesizes at entry=0x454e400, 
pix_fmt=AV_PIX_FMT_BGR0, width=1920,
     height=1088) at src/libavutil/imgutils.c:334
#3  0x0000000000e7ab09 in nvenc_copy_frame (avctx=0x3e7ce80, 
nv_surface=0x43215a0, nv_surface=0x43215a0, lock_buffer_params=0x7ffe17cf07e0, 
lock_buffer_params=0x7ffe17cf07e0, frame=0x454e3c0) at src/libavcodec/nvenc.c:1312
#4  nvenc_upload_frame (nvenc_frame=0x43215a0, frame=0x454e3c0, avctx=0x3e7ce80) 
at src/libavcodec/nvenc.c:1430
#5  ff_nvenc_encode_frame (avctx=0x3e7ce80, pkt=0x7ffe17cf1d20, frame=0x454e3c0, 
got_packet=0x7ffe17cf1bdc) at src/libavcodec/nvenc.c:1660
#6  0x0000000000acb003 in avcodec_encode_video2 (avctx=avctx at entry=0x3e7ce80, 
avpkt=avpkt at entry=0x7ffe17cf1d20, frame=frame at entry=0x454e3c0, 
got_packet_ptr=got_packet_ptr at entry=0x7ffe17cf1bdc) at src/libavcodec/utils.c:1961
#7  0x0000000000496cb5 in do_video_out (s=0x3e7b2a0, ost=ost at entry=0x3e7cc80, 
next_picture=next_picture at entry=0x454e3c0, sync_ipts=<optimized out>, 
sync_ipts at entry=-7.62939453125e-06) at src/ffmpeg.c:1175
#8  0x0000000000497f6d in reap_filters (flush=flush at entry=0) at src/ffmpeg.c:1366
#9  0x000000000049ab1c in transcode_step () at src/ffmpeg.c:4117
#10 transcode () at src/ffmpeg.c:4161
#11 0x000000000047d0ac in main (argc=<optimized out>, argv=0x7ffe17cf2668) at 
src/ffmpeg.c:4356

Another one:

(gdb) bt
#0  0x00007ff6ffe7ba3e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000000001018591 in av_image_copy_plane (height=8, bytewidth=7680, 
src_linesize=<optimized out>, src=<optimized out>, dst_linesize=<optimized out>, 
dst=<optimized out>) at src/libavutil/imgutils.c:296
#2  av_image_copy (dst_data=dst_data at entry=0x7ffd063a4f80, 
dst_linesizes=dst_linesizes at entry=0x7ffd063a4f70, 
src_data=src_data at entry=0x40bf3e0, src_linesizes=src_linesizes at entry=0x40bf420, 
pix_fmt=AV_PIX_FMT_BGR0, width=1920,
     height=1088) at src/libavutil/imgutils.c:334
#3  0x0000000000e7ab09 in nvenc_copy_frame (avctx=0x39ede80, 
nv_surface=0x3e92620, nv_surface=0x3e92620, lock_buffer_params=0x7ffd063a4fa0, 
lock_buffer_params=0x7ffd063a4fa0, frame=0x40bf3e0) at src/libavcodec/nvenc.c:1312
#4  nvenc_upload_frame (nvenc_frame=0x3e92620, frame=0x40bf3e0, avctx=0x39ede80) 
at src/libavcodec/nvenc.c:1430
#5  ff_nvenc_encode_frame (avctx=0x39ede80, pkt=0x7ffd063a64e0, frame=0x40bf3e0, 
got_packet=0x7ffd063a639c) at src/libavcodec/nvenc.c:1660
#6  0x0000000000acb003 in avcodec_encode_video2 (avctx=avctx at entry=0x39ede80, 
avpkt=avpkt at entry=0x7ffd063a64e0, frame=frame at entry=0x40bf3e0, 
got_packet_ptr=got_packet_ptr at entry=0x7ffd063a639c) at src/libavcodec/utils.c:1961
#7  0x0000000000496cb5 in do_video_out (s=0x39ec2a0, ost=ost at entry=0x39edc80, 
next_picture=next_picture at entry=0x40bf3e0, sync_ipts=<optimized out>, 
sync_ipts at entry=-7.62939453125e-06) at src/ffmpeg.c:1175
#8  0x0000000000497f6d in reap_filters (flush=flush at entry=0) at src/ffmpeg.c:1366
#9  0x000000000049ab1c in transcode_step () at src/ffmpeg.c:4117
#10 transcode () at src/ffmpeg.c:4161
#11 0x000000000047d0ac in main (argc=<optimized out>, argv=0x7ffd063a6e28) at 
src/ffmpeg.c:4356



More information about the ffmpeg-devel mailing list