| // Copyright 2020 Joe Drago. All rights reserved. | |
| // SPDX-License-Identifier: BSD-2-Clause | |
| #ifndef TESTCASE_H | |
| #define TESTCASE_H | |
| #include "avif/avif.h" | |
| #include "cJSON.h" | |
| typedef struct TestCase | |
| { | |
| char * name; | |
| char * inputFilename; | |
| avifCodecChoice encodeChoice; | |
| avifCodecChoice decodeChoice; | |
| int minQuantizer; | |
| int maxQuantizer; | |
| int speed; | |
| avifBool active; | |
| int maxThreshold; | |
| float avgThreshold; | |
| } TestCase; | |
| TestCase * testCaseCreate(void); | |
| TestCase * testCaseFromJSON(cJSON * json); | |
| void testCaseDestroy(TestCase * tc); | |
| void testCaseSetInputFilename(TestCase * tc, const char * inputFilename); | |
| void testCaseGenerateName(TestCase * tc); | |
| cJSON * testCaseToJSON(TestCase * tc); | |
| int testCaseRun(TestCase * tc, const char * dataDir, avifBool generating); // returns 0 on failure | |
| #endif |