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

Víctor Paesa wzrlpy
Tue Sep 19 13:28:36 CEST 2006


Hi,

> Hi all,
>
> On Sat, 2006-09-16 at 21:52 +0200, Michael Niedermayer wrote:
> [...]
>> > 2) Am I right in thinking that I have to set such parameters to 1 for
>> > YUVJ formats, and to 0 for YUV formats?
>>
>> yes
> The attached patch adds swscale support for the YUVJ formats by properly
> (I hope :) setting srcRange and dstRange in sws_setColorspaceDetails().
>
> I verified that after applying the patch sws_getContext() does not fail
> when asked to convert from/to YUVJ formats, and that it does not
> segfault, but I do not know how to check if the conversion is right (I
> cannot see the difference between YUV420P and YUVJ420P :). Maybe someone
> more skilled than me can check if the conversion is done properly.
>

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


GDB says that dead happened at in_asm_used_var_warning_killer():


(gdb) run -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
Starting program:
/home/wzrlpy/src/FFmpeg-20060919-6289/ffmpeg/ffmpeg_g.exe -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
Loaded symbols for /cygdrive/c/WINDOWS/system32/ntdll.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/kernel32.dll
Loaded symbols for /usr/local/bin/cygavcodec-51.dll
Loaded symbols for /usr/local/bin/cygavutil-49.dll
Loaded symbols for /usr/bin/cygwin1.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/advapi32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/rpcrt4.dll
Loaded symbols for /usr/local/bin/cygmp3lame-0.dll
Loaded symbols for /usr/bin/cygz.dll
Loaded symbols for /usr/local/bin/cygavformat-50.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/avifil32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/msvcrt.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/user32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/gdi32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/winmm.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/ole32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/msacm32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/msvfw32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/shell32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/shlwapi.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/comctl32.dll
Loaded symbols for /usr/local/bin/cygswscale-0.dll
FFmpeg version SVN-r6289, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --enable-mp3lame --enable-a52 --disable-static
--enable-shared --enable-pthreads --enable-swscaler --enable-avisynth
--enable-gpl
  libavutil version: 49.0.0
  libavcodec version: 51.14.0
  libavformat version: 50.5.0
  built on Sep 19 2006 12:23:21, gcc: 3.4.4 (cygming special) (gdc 0.12,
using dmd 0.125)
Input #0, image2, from 'vsynth1/%02d.pgm':
  Duration: 00:00:02.0, start: 0.000000, bitrate: N/A
  Stream #0.0: Video: pgmyuv, yuv420p, 352x288, 25.00 fps(r)
Output #0, avi, to './data/a-mjpeg.avi':
  Stream #0.0: Video: mjpeg, yuvj420p, 352x288, q=2-31, 200 kb/s, 25.00
fps(c)
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding

Program received signal SIGSEGV, Segmentation fault.
0x005d8d9d in in_asm_used_var_warning_killer ()
(gdb) The program is running.  Exit anyway? (y or n) y

Regards,
V?ctor




More information about the ffmpeg-devel mailing list