diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
| commit | 884c8093d63402a1ad0b502244b791e3c6782be3 (patch) | |
| tree | a600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c | |
| parent | 14e1aa2006796f147f3f4811fb908a6b01e79253 (diff) | |
| download | extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip | |
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c')
| -rw-r--r-- | debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c b/debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c new file mode 100644 index 00000000..d9677abc --- /dev/null +++ b/debian/transcode/transcode-1.1.7/testsuite/test-resize-values.c @@ -0,0 +1,145 @@ +/* + * test-resize-values.c -- testsuite for tc_compute_fast_resize_values + * (tc_functions.c); everyone feel free to add + * more tests and improve existing ones. + * (C) 2006-2010 - Francesco Romani <fromani -at- gmail -dot- com> + * + * This file is part of transcode, a video stream processing tool. + * + * transcode is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * transcode is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +#include "libtc/libtc.h" +#include "src/transcode.h" +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + +typedef struct res_ { + int width; + int height; +} Resolution; + + +typedef struct testcase_ { + Resolution old; + Resolution new; + int retcode; +} TestCase; + +static TestCase tests[] = { + { { 720, 576 }, { 720, 576 }, 0 }, + { { 720, 480 }, { 720, 480 }, 0 }, + { { 720, 576 }, { 720, 480 }, 0 }, + { { 720, 480 }, { 720, 576 }, 0 }, + { { 720, 576 }, { 352, 288 }, 0 }, + { { 352, 288 }, { 720, 576 }, 0 }, + { { 720, 480 }, { 352, 240 }, 0 }, + { { 352, 240 }, { 720, 480 }, 0 }, + { { 720, 576 }, { 640, 480 }, 0 }, + { { 640, 480 }, { 720, 576 }, 0 }, + { { 720, 576 }, { 1024, 768 }, 0 }, + { { 1024, 768 }, { 720, 576 }, 0 }, + { { 722, 576 }, { 720, 576 }, -1 }, + { { 720, 576 }, { 722, 576 }, -1 }, + { { 718, 576 }, { 720, 576 }, -1 }, + { { 720, 576 }, { 718, 576 }, -1 }, + { { 720, 578 }, { 720, 576 }, -1 }, + { { 720, 576 }, { 720, 578 }, -1 }, + { { 720, 572 }, { 720, 576 }, -1 }, + { { 720, 576 }, { 720, 572 }, -1 }, + { { 720, 576 }, { 1024, 480 }, 0 }, + { { 1024, 480 }, { 720, 576 }, 0 }, + { { 720, 480 }, { 480, 576 }, 0 }, + { { 480, 576 }, { 720, 480 }, 0 }, +}; + +#define TEST_COUNT (sizeof(tests)/sizeof(tests[0])) + +static int do_single_test(const TestCase *test, vob_t *vob, int strict) +{ + int ret; + /* cleanup */ + vob->resize1_mult = 0; + vob->resize2_mult = 0; + vob->hori_resize1 = 0; + vob->hori_resize2 = 0; + vob->vert_resize1 = 0; + vob->vert_resize2 = 0; + /* setup test values */ + vob->ex_v_width = test->old.width; + vob->ex_v_height = test->old.height; + vob->zoom_width = test->new.width; + vob->zoom_height = test->new.height; + + ret = tc_compute_fast_resize_values(vob, strict); + + if (ret == test->retcode) { + tc_log_info(__FILE__, "%ix%i -> %ix%i (-B %i,%i,%i | -X %i,%i,%i)" + " expect %s got %s -> OK!", + test->old.width, test->old.height, + test->new.width, test->new.height, + vob->vert_resize1, vob->hori_resize1, vob->resize1_mult, + vob->vert_resize2, vob->hori_resize2, vob->resize2_mult, + (ret == 0) ?"SUCCESS" :"FAILURE", + (test->retcode == 0) ?"SUCCESS" :"FAILURE"); + } else { + tc_log_warn(__FILE__, "%ix%i -> %ix%i (-B %i,%i,%i | -X %i,%i,%i)" + " expect %s got %s -> BAD!!", + test->old.width, test->old.height, + test->new.width, test->new.height, + vob->vert_resize1, vob->hori_resize1, vob->resize1_mult, + vob->vert_resize2, vob->hori_resize2, vob->resize2_mult, + (ret == 0) ?"SUCCESS" :"FAILURE", + (test->retcode == 0) ?"SUCCESS" :"FAILURE"); + } + return (ret == test->retcode) ?0 :1; +} + +int main(int argc, char *argv[]) +{ + int failed = 0, i = 0, strict = TC_FALSE; + vob_t *vob = tc_zalloc(sizeof(vob_t)); + + if (vob == NULL) { + return EXIT_FAILURE; + } + + if (argc > 1 && !strcmp(argv[1], "strict")) { + strict = TC_TRUE; + } + + for (i = 0; i < TEST_COUNT; i++) { + failed += do_single_test(&tests[i], vob, strict); + } + + tc_free(vob); + tc_log_info(__FILE__, "test summary: %i tests, %i failed", + (int)TEST_COUNT, failed); + return (failed == 0) ?EXIT_SUCCESS :EXIT_FAILURE; +} + +/*************************************************************************/ + +/* + * Local variables: + * c-file-style: "hugeouhugeup" + * c-file-offsets: ((case-label . *) (statement-case-intro . *)) + * indent-tabs-mode: nil + * End: + * + * vim: expandtab shiftwidth=4: + */ + |
