Opened 8 years ago
Closed 8 years ago
#5736 closed defect (fixed)
Crash when encoding from ffv1/bgr0 to ffv1/bgr0
Reported by: | RaljOneed | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | ffv1 crash abort regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
Program fails when input and output videos use ffv1 codec and bgr0 pixel format and no resizing is performed.
How to reproduce:
ffmpeg started on 2016-07-26 at 02:54:39 Report written to "ffmpeg-20160726-025439.log" Command line: ./ffmpeg-N-81047-g64caafa -report -i zzz.mkv -c:v ffv1 -g 1 -slices 4 qqqq.mkv ffmpeg version N-81047-g64caafa Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.1) 20160609 configuration: --prefix=/home/xxxxxx/Programy/ffmpeg/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/xxxxxx/Programy/ffmpeg/ffmpeg_build/include --extra-ldflags=-L/home/xxxxxx/Programy/ffmpeg/ffmpeg_build/lib --bindir=/home/xxxxxx/Programy/ffmpeg/bin --enable-gpl --enable-libass --enable-libfreetype --enable-libopus --enable-libtheora --enable-libvorbis --enable-x11grab --enable-libsoxr --disable-ffserver --disable-ffplay --disable-ffprobe libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 50.100 / 57. 50.100 libavformat 57. 43.100 / 57. 43.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 47.100 / 6. 47.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-i' ... matched as input file with argument 'zzz.mkv'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'ffv1'. Reading option '-g' ... matched as AVOption 'g' with argument '1'. Reading option '-slices' ... matched as AVOption 'slices' with argument '4'. Reading option 'qqqq.mkv' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file zzz.mkv. Successfully parsed a group of options. Opening an input file: zzz.mkv. [file @ 0x2029da0] Setting default whitelist 'file,crypto' [matroska,webm @ 0x2029460] Format matroska,webm probed with size=2048 and score=100 st:0 removing common factor 1000000 from timebase [matroska,webm @ 0x2029460] Before avformat_find_stream_info() pos: 789 bytes read:32768 seeks:0 nb_streams:1 [matroska,webm @ 0x2029460] parser not found for codec ffv1, packets or times may be invalid. [matroska,webm @ 0x2029460] parser not found for codec ffv1, packets or times may be invalid. [matroska,webm @ 0x2029460] All info found [matroska,webm @ 0x2029460] After avformat_find_stream_info() pos: 52270 bytes read:65536 seeks:0 frames:1 Input #0, matroska,webm, from 'zzz.mkv': Metadata: ENCODER : Lavf57.41.100 Duration: 00:00:19.02, start: 0.000000, bitrate: 15075 kb/s Stream #0:0, 1, 1/1000: Video: ffv1 (FFV1 / 0x31564646), bgr0, 320x180, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc57.48.101 ffv1 DURATION : 00:00:19.019000000 Successfully opened the file. Parsing a group of options: output file qqqq.mkv. Applying option c:v (codec name) with argument ffv1. Successfully parsed a group of options. Opening an output file: qqqq.mkv. [file @ 0x202f3a0] Setting default whitelist 'file,crypto' Successfully opened the file. detected 4 logical cores [graph 0 input from stream 0:0 @ 0x2030400] Setting 'video_size' to value '320x180' [graph 0 input from stream 0:0 @ 0x2030400] Setting 'pix_fmt' to value '298' [graph 0 input from stream 0:0 @ 0x2030400] Setting 'time_base' to value '1/1000' [graph 0 input from stream 0:0 @ 0x2030400] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0x2030400] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x2030400] Setting 'frame_rate' to value '30000/1001' [graph 0 input from stream 0:0 @ 0x2030400] w:320 h:180 pixfmt:bgr0 tb:1/1000 fr:30000/1001 sar:1/1 sws_param:flags=2 [format @ 0x2030bc0] compat: called with args=[yuv420p|yuva420p|yuva422p|yuv444p|yuva444p|yuv440p|yuv422p|yuv411p|yuv410p|bgr0|bgra|yuv420p16le|yuv422p16le|yuv444p16le|yuv444p9le|yuv422p9le|yuv420p9le|yuv420p10le|yuv422p10le|yuv444p10le|yuva444p16le|yuva422p16le|yuva420p16le|yuva444p10le|yuva422p10le|yuva420p10le|yuva444p9le|yuva422p9le|yuva420p9le|gray16le|gray|gbrp9le|gbrp10le|gbrp12le|gbrp14le|ya8] [format @ 0x2030bc0] Setting 'pix_fmts' to value 'yuv420p|yuva420p|yuva422p|yuv444p|yuva444p|yuv440p|yuv422p|yuv411p|yuv410p|bgr0|bgra|yuv420p16le|yuv422p16le|yuv444p16le|yuv444p9le|yuv422p9le|yuv420p9le|yuv420p10le|yuv422p10le|yuv444p10le|yuva444p16le|yuva422p16le|yuva420p16le|yuva444p10le|yuva422p10le|yuva420p10le|yuva444p9le|yuva422p9le|yuva420p9le|gray16le|gray|gbrp9le|gbrp10le|gbrp12le|gbrp14le|ya8' [AVFilterGraph @ 0x202f520] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed Assertion s->bits_per_raw_sample >= 8 failed at libavcodec/ffv1enc.c:820
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Attachments (1)
Change History (7)
follow-up: 2 comment:1 by , 8 years ago
Component: | undetermined → avcodec |
---|---|
Keywords: | ffv1 crash abort added |
Priority: | normal → important |
Version: | unspecified → git-master |
comment:2 by , 8 years ago
Replying to cehoyos:
No, this command line doesn't trigger the error.
Looks like this can be reproduced only if input ffv1/bgr0 file was encoded using more than one slice.
by , 8 years ago
Attachment: | slices.nut added |
---|
comment:3 by , 8 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
$ ffmpeg -i slices.nut -vcodec ffv1 -f null - ffmpeg version N-81118-gfb91850 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8 (SUSE Linux) configuration: --enable-gpl --enable-libvpx libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 50.100 / 57. 50.100 libavformat 57. 44.100 / 57. 44.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 49.100 / 6. 49.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, nut, from 'slices.nut': Metadata: encoder : Lavf57.44.100 Duration: 00:00:00.96, start: 0.000000, bitrate: 1046 kb/s Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), bgr0, 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 51200 tbn, 51200 tbc Metadata: encoder : Lavc57.50.100 ffv1 Assertion s->bits_per_raw_sample >= 8 failed at libavcodec/ffv1enc.c:820 Aborted
comment:4 by , 8 years ago
Regression since 81e40c26 - encoding works fine with older versions and the given sample here.
comment:5 by , 8 years ago
Keywords: | regression added |
---|
comment:6 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Note:
See TracTickets
for help on using tickets.
I cannot reproduce, is this a race condition?
Is the issue also reproducible with the following command line?