Opened 12 years ago

Closed 12 years ago

#1447 closed defect (fixed)

super2xsai does not work as expected in combination with other filters

Reported by: Elon Musk Owned by:
Priority: important Component: avfilter
Version: git-master Keywords: super2xsai crash
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

How to reproduce:

ffmpeg -i fate-suite/dxtory/dxtory_mic.avi -vf format=rgb555,super2xsai /tmp/out.pam
ffmpeg version git-2012-06-13-4c5cd32 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jun 13 2012 23:11:05 with clang 3.0 (tags/RELEASE_30/final 145349)
  configuration: --cc=clang --as=clang --extra-cflags=-I/usr/local/include --extra-cflags=-analyze --extra-ldflags=-L/usr/local/lib --disable-debug --disable-static --disable-postproc --disable-indev=alsa --disable-indev=bktr --disable-indev=dshow --disable-indev=dv1394 --disable-indev=fbdev --disable-indev=jack --disable-indev=libcdio --disable-indev=libdc1394 --disable-indev=openal --disable-indev=pulse --disable-indev=sndio --disable-indev=vfwcap --disable-outdev=sndio --disable-outdev=alsa --disable-ou  libavutil      51. 58.100 / 51. 58.100
  libavcodec     54. 25.100 / 54. 25.100
  libavformat    54.  6.101 / 54.  6.101
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 79.100 /  2. 79.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Guessed Channel Layout for  Input Stream #0.2 : stereo
Input #0, avi, from 'git/fate-suite/dxtory/dxtory_mic.avi':
  Metadata:
    encoder         : DxtoryCore ver2.0.0.109
    ISRC            : Video:YUV420 Audio0:Lautsprecher (Realtek High Definition Audio) Audio1:Mikrofon (Realtek High Definition Audio)
  Duration: 00:00:07.48, start: 0.000000, bitrate: 1496 kb/s
    Stream #0:0: Video: dxtory (xtor / 0x726F7478), yuv420p, 1280x720, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
    Stream #0:2: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
[buffer @ 0x2980e380] w:1280 h:720 pixfmt:yuv420p tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
[ffmpeg_buffersink @ 0x2980e400] No opaque field provided
[Parsed_format_0 @ 0x2980e200] auto-inserting filter 'auto-inserted scaler 0' between the filter '(null)' and the filter 'Parsed_format_0'
[format @ 0x2980e480] auto-inserting filter 'auto-inserted scaler 1' between the filter 'Parsed_super2xsai_1' and the filter 'format'
[auto-inserted scaler 0 @ 0x2980e580] w:1280 h:720 fmt:yuv420p sar:0/1 -> w:1280 h:720 fmt:rgb555le sar:0/1 flags:0x4
[Parsed_super2xsai_1 @ 0x2980e2c0] fmt:rgb555le size:1280x720 -> size:2560x1440
[auto-inserted scaler 1 @ 0x2980e540] w:2560 h:1440 fmt:rgb555le sar:0/1 -> w:2560 h:1440 fmt:rgb24 sar:0/1 flags:0x4
Output #0, image2, to '/tmp/out.pam':
  Metadata:
    ISRC            : Video:YUV420 Audio0:Lautsprecher (Realtek High Definition Audio) Audio1:Mikrofon (Realtek High Definition Audio)
    encoder         : Lavf54.6.101
    Stream #0:0: Video: pam, rgb24, 2560x1440, q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (dxtory -> pam)
Press [q] to stop, [?] for help
[auto-inserted scaler 1 @ 0x2980e540] w:1280 h:720 fmt:rgb555le sar:0/1 -> w:2560 h:1440 fmt:rgb24 sar:0/1 flags:0x4
frame=    1 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.04 bitrate=   0.0kbits/s    
video:10800kB audio:0kB global headers:0kB muxing overhead -100.000000%

Output looks wrong or even SEGV happens with different filters combination.

Change History (2)

comment:1 by Carl Eugen Hoyos, 12 years ago

The malfunction is also reproducible with ffmpeg -i tests/lena.pnm -vf format=rgb555,super2xsai out.pam but valgrind does not report anything (also not with your command line).

comment:2 by Stefano Sabatini, 12 years ago

Analyzed by developer: set
Reproduced by developer: set
Resolution: fixed
Status: newclosed

Should be fixed in:

commit 635a25954e96bc7b765dc84e9118fca0a61dcaf9
Author: Stefano Sabatini <stefasab@gmail.com>
Date:   Thu Jun 14 13:12:18 2012 +0200

    lavfi/video: set output frame w/h properties in default_start_frame()
    
    Use the same values of the video output link.
    
    Avoid the need to override the default_start_frame() with an ad-hoc
    start_frame() callback.
    
    In particular, fix the super2xsai filter which was setting the
    input w/h values in the output.
Note: See TracTickets for help on using tickets.