[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