Opened 12 years ago

Closed 12 years ago

#1110 closed defect (fixed)

sgi enc: crash with -pix_fmt rgb48le

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

Description

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

crashes also with rgb48be, gray16le and gray16be

(gdb) r -i 599.png -pix_fmt rgb48le out.sgi
Starting program: d:\mingw\msys\1.0\ffmpeg\ffmpeg_g.exe -i 599.png -pix_fmt rgb4
8le out.sgi
[New Thread 2584.0xff0]
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
[buffer @ 03871c40] w:599 h:412 pixfmt:rgb24 tb:1/1000000 sar:0/1 sws_param:
[buffersink @ 03871ec0] auto-inserting filter 'auto-inserted scale 0' between th
e filter 'src' and the filter 'out'
[scale @ 03871440] w:599 h:412 fmt:rgb24 -> w:599 h:412 fmt:rgb48le flags:0x4
Output #0, image2, to 'out.sgi':
  Metadata:
    encoder         : Lavf54.2.100
    Stream #0:0: Video: sgi, rgb48le, 599x412, q=2-31, 200 kb/s, 90k tbn, 25 tbc

Stream mapping:
  Stream #0:0 -> #0:0 (png -> sgi)
Press [q] to stop, [?] for help

Program received signal SIGSEGV, Segmentation fault.
0x0080f7a8 in bytestream_put_be16 (value=32759, b=<synthetic pointer>)
    at ./libavutil/bswap.h:60
60          x= (x>>8) | (x<<8);
(gdb) bt
#0  0x0080f7a8 in bytestream_put_be16 (value=32759, b=<synthetic pointer>)
    at ./libavutil/bswap.h:60
#1  encode_frame (avctx=0x3863320, pkt=0x22db40, frame=0x22d9d8,
    got_packet=0x22dc0c) at libavcodec/sgienc.c:191
#2  0x004f945d in avcodec_encode_video2 (avctx=0x3863320, avpkt=0x22db40,
    frame=0x22d9d8, got_packet_ptr=0x22dc0c) at libavcodec/utils.c:1219
#3  0x00405de0 in do_video_out (s=0x386a620, ost=0x3863700,
    in_picture=0x3873800, ist=<optimized out>) at ffmpeg.c:1619
#4  0x00407d6c in transcode_video (pkt_pts=<optimized out>,
    got_output=<optimized out>, pkt=<optimized out>, ist=<optimized out>)
    at ffmpeg.c:2178
#5  output_packet (ist=0x3871640, ost_table=0x3863700, nb_ostreams=1,
    pkt=0x22fb28) at ffmpeg.c:2270
#6  0x0040bf3b in transcode (output_files=0x3871b60, nb_output_files=1,
    input_files=0x3871700, nb_input_files=1) at ffmpeg.c:3082
#7  0x0022ff48 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further

Change History (2)

comment:1 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavcodec
Keywords: sgi regression added
Priority: normalimportant
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

comment:2 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: openclosed

Fixed by Michael.

Note: See TracTickets for help on using tickets.