[Ffmpeg-devel] Adding support for YUVJ formats in libswscale

Víctor Paesa wzrlpy
Wed Sep 20 14:12:56 CEST 2006


Hi Luca,

> Hi V?ctor,
>
> first of all, thanks for the feedback.
>
Thanks to you for your porting effort!

> On Tue, 2006-09-19 at 13:28 +0200, V?ctor Paesa wrote:
> [...]
>> It segfaults during a make test:
>>
>> ../ffmpeg_g -y -flags +bitexact -dct fastint -idct simple -y -qscale 10
>> -f
>> pgmyuv -i vsynth1/%02d.pgm -an -vcodec mjpeg -pix_fmt yuvj420p
>> ./data/a-mjpeg.avi
>> /home/wzrlpy/src/FFmpeg-20060919-6289/ffmpeg/tests/regression.sh: line
>> 114:  2756 Segmentation fault      (core dumped) $ffmpeg -y -flags
>> +bitexact -dct fastint -idct simple -benchmark $* >$datadir/bench.tmp
>> 2>/tmp/ffmpeg$$
>> make[1]: *** [codectest] Error 139
>> make[1]: Leaving directory
>> `/home/wzrlpy/src/FFmpeg-20060919-6289/ffmpeg/tests'
>> make: *** [test] Error 2
> I tried to have a look at this problem yesterday evening, but I cannot
> reproduce the segfault on linux/x86... "make test" fails because swscale
> is doing some conversions in a different way respect to img_convert(),
> but no segfaults.
>
> Maybe the problem is windows dependent, or CPU dependent? I'll try to
> steal a windows machine to someone, and to reproduce the segfault. Are
> you using cygwin or mingw?
>
Maybe, the machine is a P4 with hyperthreading on, this night I'll try
things on my wife's Pentium M.
I have also the same segfault (on the P4 HT) whith these minimal configure
options:
--enable-static --disable-shared --enable-swscaler --enable-gpl

I'm using native Cygwin 1.5.21, plus gcc 3.4.4, ld 2.17.50 (20060817)

> BTW, having EIP in in_asm_used_var_warning_killer() looks very wrong
> (unless I am misunderstandig the code)... Maybe the stack frame is
> corrupted and gdb output is unreliable?
>
Your guess is right, upon failing there is a stackdump that mentions
the stack frame is probably corrupted:

$ cat ffmpeg_g.exe.stackdump
Exception: STATUS_ACCESS_VIOLATION at eip=00738E7D
eax=00000000 ebx=00000160 ecx=1090AFF0 edx=1090B058 esi=00000000 edi=1143E217
ebp=0022C018 esp=0022BD90
program=C:\cygwin\home\wzrlpy\src\FFmpeg-20060919-6289\ffmpeg\ffmpeg_g.exe,
pid 516, thread main
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame     Function  Args
0022C018  00738E7D  (10908F30, 0022C050, 0022C5D0, 00000000)
0022C068  00740CF1  (10908F30, 0022C5C0, 0022C5D0, 00000000)
0022C6A8  00403700  (10908DC0, 00000001, 0022C810, 00000019)
0022CCE8  0040B44E  (00000015, 61168604, 108B0090, 00000000)
0022CD98  61006168  (00000000, 0022CDD0, 610054E0, 0022CDD0)
610054E0  61004416  (0000009C, A02404C7, E8610FF1, FFFFFF48)
      0 [main] ffmpeg_g 516 _cygtls::handle_exceptions: Error while
dumping state (probably corrupted stack)

Regards,
V?ctor





More information about the ffmpeg-devel mailing list