Fix lavfi pixdesc test

This test verifies the pixdesc code by comparing the output with and
without a filter which should have no effect on the image.  Since the
available pixel formats depend on the byte order of the machine, a
simple reference checksum is not possible.

The test originally tried to solve this by generating a reference file
on the fly.  The problem with this is that the test framework expects
the reference file in the source tree, and writing to the source tree
is not allowed.

To avoid complicating the test framework, we instead provide two
reference files and select which to use based on the byte order.

Originally committed as revision 24330 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Måns Rullgård 2010-07-19 17:17:49 +00:00
parent 48c281629a
commit 7c1bb9143e
4 changed files with 171 additions and 13 deletions

2
configure vendored
View File

@ -1483,6 +1483,8 @@ test_deps _muxer _demuxer \
yuv4mpegpipe=yuv4mpeg \
mpg_test_deps="mpeg1system_muxer mpegps_demuxer"
pixdesc_be_test_deps="bigendian"
pixdesc_le_test_deps="!bigendian"
# default parameters

View File

@ -86,21 +86,9 @@ if [ -n "$do_lavfi_pix_fmts" ]; then
done
fi
if [ -n "$do_lavfi_pixdesc" ]; then
if [ -n "$do_pixdesc_be" ] || [ -n "$do_pixdesc_le" ]; then
pix_fmts="$($ffmpeg -pix_fmts list 2>/dev/null | sed -ne '9,$p' | grep '^IO' | cut -d' ' -f2)"
ref_file=tests/ref/lavfi/lavfi_pixdesc
rm -f $ref_file
res_file=$logfile
for pix_fmt in $pix_fmts; do
# print to the reference logfile
logfile=$ref_file
do_video_encoding "lavfi_pixdesc-${pix_fmt}.nut" "" \
"-vf slicify=random,format=$pix_fmt -vcodec rawvideo -pix_fmt $pix_fmt"
# print to the result logfile
logfile=$res_file
do_video_encoding "lavfi_pixdesc-${pix_fmt}.nut" "" \
"-vf slicify=random,format=$pix_fmt,pixdesctest -vcodec rawvideo -pix_fmt $pix_fmt"
done

View File

@ -0,0 +1,84 @@
eba2f135a08829387e2f698ff72a2939 *./tests/data/lavfi/lavfi_pixdesc-yuv420p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuv420p.nut
f2569f2b5069a0ee0cecae33de0455e3 *./tests/data/lavfi/lavfi_pixdesc-yuyv422.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuyv422.nut
b41eba9651e1b5fe386289b506188105 *./tests/data/lavfi/lavfi_pixdesc-rgb24.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-rgb24.nut
0d0cb38ab3fa0b2ec0865c14f78b217b *./tests/data/lavfi/lavfi_pixdesc-bgr24.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-bgr24.nut
c9bba4529821d796a6ab09f6a5fd355a *./tests/data/lavfi/lavfi_pixdesc-yuv422p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuv422p.nut
0a98447b78fd476aa39686da6a74fa2e *./tests/data/lavfi/lavfi_pixdesc-yuv444p.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv444p.nut
2d9225153c83ee1132397d619d94d1b3 *./tests/data/lavfi/lavfi_pixdesc-yuv410p.nut
5703854 ./tests/data/lavfi/lavfi_pixdesc-yuv410p.nut
8b298af3e43348ca1b11eb8a3252ac6c *./tests/data/lavfi/lavfi_pixdesc-yuv411p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuv411p.nut
db08f7f0751900347e6b8649e4164d21 *./tests/data/lavfi/lavfi_pixdesc-gray.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-gray.nut
9251497f3b0634f1165d12d5a289d943 *./tests/data/lavfi/lavfi_pixdesc-monow.nut
634329 ./tests/data/lavfi/lavfi_pixdesc-monow.nut
668ebe8b8103b9046b251b2fa8a1d88f *./tests/data/lavfi/lavfi_pixdesc-monob.nut
634329 ./tests/data/lavfi/lavfi_pixdesc-monob.nut
32eec78ba51857b16ce9b813a49b7189 *./tests/data/lavfi/lavfi_pixdesc-yuvj420p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuvj420p.nut
0dfa0ed434f73be51428758c69e082cb *./tests/data/lavfi/lavfi_pixdesc-yuvj422p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuvj422p.nut
ede1e5882d5c5bba48ea33cf1209d231 *./tests/data/lavfi/lavfi_pixdesc-yuvj444p.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuvj444p.nut
adcf64516a19fce44df77082bdb16291 *./tests/data/lavfi/lavfi_pixdesc-uyvy422.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-uyvy422.nut
24bd566170343d06fec6fccfff5abc54 *./tests/data/lavfi/lavfi_pixdesc-bgr8.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-bgr8.nut
50d23cc82d9dcef2fd12adb81fb9b806 *./tests/data/lavfi/lavfi_pixdesc-bgr4_byte.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-bgr4_byte.nut
4a9d8e4f2f154e83a7e1735be6300700 *./tests/data/lavfi/lavfi_pixdesc-rgb8.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-rgb8.nut
c93ba89b74c504e7f5ae9d9ab1546c73 *./tests/data/lavfi/lavfi_pixdesc-rgb4_byte.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-rgb4_byte.nut
e0af357888584d36eec5aa0f673793ef *./tests/data/lavfi/lavfi_pixdesc-nv12.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-nv12.nut
9a3297f3b34baa038b1f37cb202b512f *./tests/data/lavfi/lavfi_pixdesc-nv21.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-nv21.nut
c442a8261c2265a07212ef0f72e35f5a *./tests/data/lavfi/lavfi_pixdesc-argb.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-argb.nut
93a5b3712e6eb8c5b9a09ffc7b9fbc12 *./tests/data/lavfi/lavfi_pixdesc-rgba.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-rgba.nut
037bf9df6a765520ad6d490066bf4b89 *./tests/data/lavfi/lavfi_pixdesc-abgr.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-abgr.nut
76a18a5151242fa137133f604cd624d2 *./tests/data/lavfi/lavfi_pixdesc-bgra.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-bgra.nut
7becf34ae825a3df3969bf4c6bfeb5e2 *./tests/data/lavfi/lavfi_pixdesc-gray16be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-gray16be.nut
10bd87059b5c189f3caef2837f4f2b5c *./tests/data/lavfi/lavfi_pixdesc-gray16le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-gray16le.nut
5a064afe2b453bb52cdb3f176b1aa1cf *./tests/data/lavfi/lavfi_pixdesc-yuv440p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuv440p.nut
9c3a093ff64a83ac4cf0b1e65390e236 *./tests/data/lavfi/lavfi_pixdesc-yuvj440p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuvj440p.nut
a29884f3f3dfe1e00b961bc17bef3d47 *./tests/data/lavfi/lavfi_pixdesc-yuva420p.nut
12673454 ./tests/data/lavfi/lavfi_pixdesc-yuva420p.nut
460b6de89b156290a12d3941db8bd731 *./tests/data/lavfi/lavfi_pixdesc-rgb48be.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-rgb48be.nut
cd93cb34d15996987367dabda3a10128 *./tests/data/lavfi/lavfi_pixdesc-rgb48le.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-rgb48le.nut
9cadf742e05ddc23a3b5b270f89aad3c *./tests/data/lavfi/lavfi_pixdesc-rgb565be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-rgb565be.nut
912a62c5e53bfcbac2a0340e10973cf2 *./tests/data/lavfi/lavfi_pixdesc-rgb555be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-rgb555be.nut
257cf78afa35dc31e9696f139c916715 *./tests/data/lavfi/lavfi_pixdesc-bgr565be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-bgr565be.nut
49f01b1f1f0c84fd9e776dd34cc3c280 *./tests/data/lavfi/lavfi_pixdesc-bgr555be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-bgr555be.nut
2d59c4f1d0314a5a957a7cfc4b6fabcc *./tests/data/lavfi/lavfi_pixdesc-yuv420p16le.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv420p16le.nut
16c009a235cd52b74791a895423152a3 *./tests/data/lavfi/lavfi_pixdesc-yuv420p16be.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv420p16be.nut
e3d61fde6978591596bc36b914386623 *./tests/data/lavfi/lavfi_pixdesc-yuv422p16le.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-yuv422p16le.nut
5499502e1c29534a158a1fe60e889f60 *./tests/data/lavfi/lavfi_pixdesc-yuv422p16be.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-yuv422p16be.nut
1262a0dc57ee147967fc896d04206313 *./tests/data/lavfi/lavfi_pixdesc-yuv444p16le.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-yuv444p16le.nut
ea602a24b8e6969679265078bd8607b6 *./tests/data/lavfi/lavfi_pixdesc-yuv444p16be.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-yuv444p16be.nut

View File

@ -0,0 +1,84 @@
eba2f135a08829387e2f698ff72a2939 *./tests/data/lavfi/lavfi_pixdesc-yuv420p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuv420p.nut
f2569f2b5069a0ee0cecae33de0455e3 *./tests/data/lavfi/lavfi_pixdesc-yuyv422.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuyv422.nut
b41eba9651e1b5fe386289b506188105 *./tests/data/lavfi/lavfi_pixdesc-rgb24.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-rgb24.nut
0d0cb38ab3fa0b2ec0865c14f78b217b *./tests/data/lavfi/lavfi_pixdesc-bgr24.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-bgr24.nut
c9bba4529821d796a6ab09f6a5fd355a *./tests/data/lavfi/lavfi_pixdesc-yuv422p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuv422p.nut
0a98447b78fd476aa39686da6a74fa2e *./tests/data/lavfi/lavfi_pixdesc-yuv444p.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv444p.nut
2d9225153c83ee1132397d619d94d1b3 *./tests/data/lavfi/lavfi_pixdesc-yuv410p.nut
5703854 ./tests/data/lavfi/lavfi_pixdesc-yuv410p.nut
8b298af3e43348ca1b11eb8a3252ac6c *./tests/data/lavfi/lavfi_pixdesc-yuv411p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuv411p.nut
db08f7f0751900347e6b8649e4164d21 *./tests/data/lavfi/lavfi_pixdesc-gray.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-gray.nut
9251497f3b0634f1165d12d5a289d943 *./tests/data/lavfi/lavfi_pixdesc-monow.nut
634329 ./tests/data/lavfi/lavfi_pixdesc-monow.nut
668ebe8b8103b9046b251b2fa8a1d88f *./tests/data/lavfi/lavfi_pixdesc-monob.nut
634329 ./tests/data/lavfi/lavfi_pixdesc-monob.nut
32eec78ba51857b16ce9b813a49b7189 *./tests/data/lavfi/lavfi_pixdesc-yuvj420p.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-yuvj420p.nut
0dfa0ed434f73be51428758c69e082cb *./tests/data/lavfi/lavfi_pixdesc-yuvj422p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuvj422p.nut
ede1e5882d5c5bba48ea33cf1209d231 *./tests/data/lavfi/lavfi_pixdesc-yuvj444p.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuvj444p.nut
adcf64516a19fce44df77082bdb16291 *./tests/data/lavfi/lavfi_pixdesc-uyvy422.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-uyvy422.nut
24bd566170343d06fec6fccfff5abc54 *./tests/data/lavfi/lavfi_pixdesc-bgr8.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-bgr8.nut
50d23cc82d9dcef2fd12adb81fb9b806 *./tests/data/lavfi/lavfi_pixdesc-bgr4_byte.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-bgr4_byte.nut
4a9d8e4f2f154e83a7e1735be6300700 *./tests/data/lavfi/lavfi_pixdesc-rgb8.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-rgb8.nut
c93ba89b74c504e7f5ae9d9ab1546c73 *./tests/data/lavfi/lavfi_pixdesc-rgb4_byte.nut
5070254 ./tests/data/lavfi/lavfi_pixdesc-rgb4_byte.nut
e0af357888584d36eec5aa0f673793ef *./tests/data/lavfi/lavfi_pixdesc-nv12.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-nv12.nut
9a3297f3b34baa038b1f37cb202b512f *./tests/data/lavfi/lavfi_pixdesc-nv21.nut
7604654 ./tests/data/lavfi/lavfi_pixdesc-nv21.nut
c442a8261c2265a07212ef0f72e35f5a *./tests/data/lavfi/lavfi_pixdesc-argb.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-argb.nut
93a5b3712e6eb8c5b9a09ffc7b9fbc12 *./tests/data/lavfi/lavfi_pixdesc-rgba.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-rgba.nut
037bf9df6a765520ad6d490066bf4b89 *./tests/data/lavfi/lavfi_pixdesc-abgr.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-abgr.nut
76a18a5151242fa137133f604cd624d2 *./tests/data/lavfi/lavfi_pixdesc-bgra.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-bgra.nut
7becf34ae825a3df3969bf4c6bfeb5e2 *./tests/data/lavfi/lavfi_pixdesc-gray16be.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-gray16be.nut
10bd87059b5c189f3caef2837f4f2b5c *./tests/data/lavfi/lavfi_pixdesc-gray16le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-gray16le.nut
5a064afe2b453bb52cdb3f176b1aa1cf *./tests/data/lavfi/lavfi_pixdesc-yuv440p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuv440p.nut
9c3a093ff64a83ac4cf0b1e65390e236 *./tests/data/lavfi/lavfi_pixdesc-yuvj440p.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-yuvj440p.nut
a29884f3f3dfe1e00b961bc17bef3d47 *./tests/data/lavfi/lavfi_pixdesc-yuva420p.nut
12673454 ./tests/data/lavfi/lavfi_pixdesc-yuva420p.nut
460b6de89b156290a12d3941db8bd731 *./tests/data/lavfi/lavfi_pixdesc-rgb48be.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-rgb48be.nut
cd93cb34d15996987367dabda3a10128 *./tests/data/lavfi/lavfi_pixdesc-rgb48le.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-rgb48le.nut
d39aa298bb525e9be8860351c6f62dab *./tests/data/lavfi/lavfi_pixdesc-rgb565le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-rgb565le.nut
a937a0fc764fb57dc1b3af87cba0273c *./tests/data/lavfi/lavfi_pixdesc-rgb555le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-rgb555le.nut
1dfdd03995c287e3c754b164bf26a355 *./tests/data/lavfi/lavfi_pixdesc-bgr565le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-bgr565le.nut
378d6ac4223651a1adcbf94a3d0d807b *./tests/data/lavfi/lavfi_pixdesc-bgr555le.nut
10139054 ./tests/data/lavfi/lavfi_pixdesc-bgr555le.nut
2d59c4f1d0314a5a957a7cfc4b6fabcc *./tests/data/lavfi/lavfi_pixdesc-yuv420p16le.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv420p16le.nut
16c009a235cd52b74791a895423152a3 *./tests/data/lavfi/lavfi_pixdesc-yuv420p16be.nut
15207903 ./tests/data/lavfi/lavfi_pixdesc-yuv420p16be.nut
e3d61fde6978591596bc36b914386623 *./tests/data/lavfi/lavfi_pixdesc-yuv422p16le.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-yuv422p16le.nut
5499502e1c29534a158a1fe60e889f60 *./tests/data/lavfi/lavfi_pixdesc-yuv422p16be.nut
20276703 ./tests/data/lavfi/lavfi_pixdesc-yuv422p16be.nut
1262a0dc57ee147967fc896d04206313 *./tests/data/lavfi/lavfi_pixdesc-yuv444p16le.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-yuv444p16le.nut
ea602a24b8e6969679265078bd8607b6 *./tests/data/lavfi/lavfi_pixdesc-yuv444p16be.nut
30414303 ./tests/data/lavfi/lavfi_pixdesc-yuv444p16be.nut