From c0baa56a252310f461925bf30fea5bb07df9285a Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Thu, 1 Jan 2004 22:04:14 +0000
Subject: [PATCH] trellis quantization regression test

Originally committed as revision 2648 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 ffmpeg.c                      | 5 +++++
 tests/ffmpeg.regression.ref   | 6 +++---
 tests/regression.sh           | 2 +-
 tests/rotozoom.regression.ref | 6 +++---
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index a5b54cb9788..dc37cb19c1f 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -120,6 +120,7 @@ static int use_aic = 0;
 static int use_aiv = 0;
 static int use_umv = 0;
 static int use_alt_scan = 0;
+static int use_trell = 0;
 static int do_deinterlace = 0;
 static int do_interlace_dct = 0;
 static int do_interlace_me = 0;
@@ -2395,6 +2396,9 @@ static void opt_output_file(const char *filename)
            	if (use_alt_scan) {
                     video_enc->flags |= CODEC_FLAG_ALT_SCAN;
                 }
+           	if (use_trell) {
+                    video_enc->flags |= CODEC_FLAG_TRELLIS_QUANT;
+                }
                 if (b_frames) {
                     video_enc->max_b_frames = b_frames;
                     video_enc->b_frame_strategy = 0;
@@ -3029,6 +3033,7 @@ const OptionDef options[] = {
     { "aiv", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&use_aiv}, "enable Alternative inter vlc (h263+)" },
     { "umv", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&use_umv}, "enable Unlimited Motion Vector (h263+)" },
     { "alt", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&use_alt_scan}, "enable alternate scantable (mpeg2)" },
+    { "trell", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&use_trell}, "enable trellis quantization" },
     { "intra_matrix", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_intra_matrix}, "specify intra matrix coeffs", "matrix" },
     { "inter_matrix", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_inter_matrix}, "specify inter matrix coeffs", "matrix" },
     { "top", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_top_field_first}, "top=1/bottom=0/auto=-1 field first", "" },
diff --git a/tests/ffmpeg.regression.ref b/tests/ffmpeg.regression.ref
index b06f7ca80d1..8f82e300f9d 100644
--- a/tests/ffmpeg.regression.ref
+++ b/tests/ffmpeg.regression.ref
@@ -35,9 +35,9 @@ stddev:  0.00 PSNR:99.99 bytes:7602176
 e9f63126859b97cd23cd1413038f8f7b *./data/a-mpeg4-rc.avi
 90a159074b1b109569914ee63f387860 *./data/out.yuv
 stddev: 10.18 PSNR:27.96 bytes:7145472
-d7d295f97a1e07b633f973d2325880ce *./data/a-mpeg4-adv.avi
-612f79510c8098f1421aa154047e2bf2 *./data/out.yuv
-stddev:  7.25 PSNR:30.91 bytes:7602176
+64b4b917014169294d59fe43ad6b3da9 *./data/a-mpeg4-adv.avi
+8069deacba9756fd25ad37b467eb6365 *./data/out.yuv
+stddev: 10.23 PSNR:27.92 bytes:7602176
 f863f4198521bd76930ea33991b47273 *./data/a-error-mpeg4-adv.avi
 ba7fcd126c7c9fead5a5de71aaaf0624 *./data/out.yuv
 stddev: 16.80 PSNR:23.61 bytes:7602176
diff --git a/tests/regression.sh b/tests/regression.sh
index cc321982790..c242bcbb10b 100755
--- a/tests/regression.sh
+++ b/tests/regression.sh
@@ -238,7 +238,7 @@ fi
 if [ -n "$do_mpeg4adv" ] ; then
 # mpeg4
 file=${outfile}mpeg4-adv.avi
-do_ffmpeg $file -y -qscale 9 -4mv -hq -part -ps 200 -aic -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
+do_ffmpeg $file -y -qscale 9 -4mv -hq -part -ps 200 -aic -trell -f pgmyuv -i $raw_src -an -vcodec mpeg4 $file
 
 # mpeg4 decoding
 do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst 
diff --git a/tests/rotozoom.regression.ref b/tests/rotozoom.regression.ref
index 22a99a9d516..998ed6a45e9 100644
--- a/tests/rotozoom.regression.ref
+++ b/tests/rotozoom.regression.ref
@@ -35,9 +35,9 @@ stddev:  0.00 PSNR:99.99 bytes:7602176
 6a469f42ce6946dd4c708f9e51e3da6a *./data/a-mpeg4-rc.avi
 df9de7134d961119705b4e0cabca1f12 *./data/out.yuv
 stddev:  4.20 PSNR:35.64 bytes:7145472
-483504d060b0bd8ac1acfa3a823c2ad7 *./data/a-mpeg4-adv.avi
-08d24bdd7da80cffaf8abaa3e71b1843 *./data/out.yuv
-stddev:  4.96 PSNR:34.20 bytes:7602176
+accf60d11aceecabb3c1997aec6e18b5 *./data/a-mpeg4-adv.avi
+a287b07b812fbeeb5364517303178ac7 *./data/out.yuv
+stddev:  4.77 PSNR:34.54 bytes:7602176
 03ff35856faefb4882eaf4d86d95bea7 *./data/a-error-mpeg4-adv.avi
 8550acff0851ee915bd5800f1e20f37c *./data/out.yuv
 stddev:  9.66 PSNR:28.42 bytes:7602176
-- 
GitLab