Opened 12 years ago

Closed 12 years ago

#1068 closed defect (fixed)

huffyuv enc: crash with very low resolution

Reported by: ami_stuff Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: huffyuv dsputil mmx
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

http://ffmpeg.org/trac/ffmpeg/attachment/ticket/1059/599.png

-s 22x22 and up works ok

(ffvhuff and flashsv2 crashes as well btw)

(gdb) r -i 599.png -s 20x20 -vcodec huffyuv out.avi
Starting program: d:\mingw\msys\1.0\ffmpeg\ffmpeg_g.exe -i 599.png -s 20x20 -vco
dec huffyuv out.avi
[New Thread 2920.0xb64]
ffmpeg version 0.9.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Mar 10 2012 16:15:15 with gcc 4.6.1
  configuration: --disable-yasm --disable-ffprobe
  libavutil      51. 42.100 / 51. 42.100
  libavcodec     54. 10.100 / 54. 10.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 63.100 /  2. 63.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
Input #0, image2, from '599.png':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24, 599x412, 25 tbr, 25 tbn, 25 tbc
w:599 h:412 pixfmt:rgb24 tb:1/1000000 sar:0/1 sws_param:
[scale @ 038712a0] w:599 h:412 fmt:rgb24 -> w:20 h:20 fmt:rgb24 flags:0x4
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.2.100
    Stream #0:0: Video: huffyuv (HFYU / 0x55594648), rgb24, 20x20, q=2-31, 200 k
b/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png -> huffyuv)
Press [q] to stop, [?] for help

Program received signal SIGSEGV, Segmentation fault.
0x009b3ae3 in diff_bytes_mmx (dst=0x388fad0 "", src1=0x386f613 "",
    src2=0x386f610 "", w=9) at libavcodec/x86/dsputilenc_mmx.c:826
826         __asm__ volatile(
(gdb) bt
#0  0x009b3ae3 in diff_bytes_mmx (dst=0x388fad0 "", src1=0x386f613 "",
    src2=0x386f610 "", w=9) at libavcodec/x86/dsputilenc_mmx.c:826
#1  0x0075057e in sub_left_prediction_rgb24 (blue=<synthetic pointer>,
    green=<synthetic pointer>, red=<synthetic pointer>, w=<optimized out>,
    src=0x386f5e3 "", dst=<optimized out>, s=<optimized out>)
    at libavcodec/huffyuv.c:202
#2  encode_frame (avctx=0x386ab20, pkt=0x22db40, pict=0x22d9d8,
    got_packet=0x22dc0c) at libavcodec/huffyuv.c:1445
#3  0x004f945d in avcodec_encode_video2 (avctx=0x386ab20, avpkt=0x22db40,
    frame=0x22d9d8, got_packet_ptr=0x22dc0c) at libavcodec/utils.c:1219
#4  0x00405de0 in do_video_out (s=0x386a620, ost=0x3863320,
    in_picture=0x3890800, ist=<optimized out>) at ffmpeg.c:1619
#5  0x00407d6c in transcode_video (pkt_pts=<optimized out>,
    got_output=<optimized out>, pkt=<optimized out>, ist=<optimized out>)
    at ffmpeg.c:2178
#6  output_packet (ist=0x3871640, ost_table=0x3863320, nb_ostreams=1,
    pkt=0x22fb28) at ffmpeg.c:2270
#7  0x0040bf3b in transcode (output_files=0x3871ac0, nb_output_files=1,
    input_files=0x3871700, nb_input_files=1) at ffmpeg.c:3082
#8  0x0022ff48 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further

Change History (1)

comment:1 by Michael Niedermayer, 12 years ago

Component: undeterminedavcodec
Keywords: huffyuv dsputil mmx added
Reproduced by developer: set
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master
Note: See TracTickets for help on using tickets.