Ticket #1219 (closed defect: fixed)

Opened 13 months ago

Last modified 13 months ago

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

crash.avi Download (102.6 KB) - added by ami_stuff 13 months ago.

Change History

Changed 13 months ago by ami_stuff

comment:1 Changed 13 months ago by cehoyos

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

comment:2 Changed 13 months ago by richardpl

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

Fixed.

Note: See TracTickets for help on using tickets.