Opened 5 years ago

Closed 5 years ago

#1219 closed defect (fixed)

zerocodec: crash

Reported by: ami_stuff Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: zeco
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

looks like this codec is buggy and accepts all (even not supported) pixel formats as an input, anyway ffmpeg crashes with attached file (which decodes incorrectly with original codec)

(gdb) r -i crash.avi out.avi
Starting program: d:\mingw\msys\1.0\ffmpeg-head-7432bcf\ffmpeg_g.exe -i crash.av
i out.avi
[New Thread 1508.0xd04]
ffmpeg version 0.10.2.git-7432bcf Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 15 2012 01:02:52 with gcc 4.6.1
  configuration: --disable-ffprobe
  libavutil      51. 46.100 / 51. 46.100
  libavcodec     54. 14.101 / 54. 14.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 70.100 /  2. 70.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
Input #0, avi, from 'crash.avi':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 21003 kb/s
    Stream #0:0: Video: zerocodec (ZECO / 0x4F43455A), uyvy422, 320x240, 25 tbr,
 25 tbn, 25 tbc
Incompatible pixel format 'uyvy422' for codec 'mpeg4', auto-selecting format 'yu
v420p'
[buffer @ 039e1460] w:320 h:240 pixfmt:uyvy422 tb:1/1000000 sar:0/1 sws_param:fl
ags=2
[buffersink @ 039e1760] auto-inserting filter 'auto-inserted scale 0' between th
e filter 'src' and the filter 'out'
[scale @ 039e2320] w:320 h:240 fmt:uyvy422 sar:0/1 -> w:320 h:240 fmt:yuv420p sa
r:0/1 flags:0x4
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.3.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240, q=2-31, 200
 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (zerocodec -> mpeg4)
Press [q] to stop, [?] for help

Program received signal SIGSEGV, Segmentation fault.
0x005d2fb6 in zerocodec_decode_frame (avctx=0x39dc760, data=0x39e3d60,
    data_size=0x22e900, avpkt=0x22e698) at libavcodec/zerocodec.c:84
84                      dst[j] += prev[j] & -!dst[j];
(gdb) bt
#0  0x005d2fb6 in zerocodec_decode_frame (avctx=0x39dc760, data=0x39e3d60,
    data_size=0x22e900, avpkt=0x22e698) at libavcodec/zerocodec.c:84
#1  0x00500aeb in avcodec_decode_video2 (avctx=0x39dc760, picture=0x39e3d60,
    got_picture_ptr=0x22e900, avpkt=0x22e7f0) at libavcodec/utils.c:1432
#2  0x00406dad in transcode_video (pkt_pts=<optimized out>,
    got_output=<optimized out>, pkt=<optimized out>, ist=<optimized out>)
    at ffmpeg.c:2122
#3  output_packet (ist=0x39e1a20, ost_table=0x39e1d80, nb_ostreams=1,
    pkt=0x22fbf0) at ffmpeg.c:2292
#4  0x0040ca68 in transcode (output_files=0x39e1ee0, nb_output_files=1,
    input_files=0x39e1ae0, nb_input_files=1) at ffmpeg.c:3163
#5  0x0022ff48 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further

Attachments (1)

crash.avi (102.6 KB) - added by ami_stuff 5 years ago.

Download all attachments as: .zip

Change History (3)

Changed 5 years ago by ami_stuff

comment:1 Changed 5 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords zeco added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open
  • Version changed from unspecified to git-master

comment:2 Changed 5 years ago by richardpl

  • Resolution set to fixed
  • Status changed from open to closed

Fixed.

Note: See TracTickets for help on using tickets.