Branch data Line data Source code
1 : : #include "utils.h" 2 : : #include "libplacebo/utils/dav1d.h" 3 : : 4 : 1 : int main() 5 : : { 6 : : // Test enum functions 7 [ + + ]: 13 : for (enum pl_color_system sys = 0; sys < PL_COLOR_SYSTEM_COUNT; sys++) { 8 : : // Exceptions to the rule, due to different handling in dav1d 9 [ + + ]: 12 : if (sys == PL_COLOR_SYSTEM_BT_2100_HLG || sys == PL_COLOR_SYSTEM_XYZ) 10 : 2 : continue; 11 : : 12 : 10 : enum Dav1dMatrixCoefficients mc = pl_system_to_dav1d(sys); 13 : 10 : enum pl_color_system sys2 = pl_system_from_dav1d(mc); 14 [ + + ]: 10 : if (sys2) 15 [ - + ]: 8 : REQUIRE_CMP(sys, ==, sys2, "u"); 16 : : } 17 : : 18 [ + + ]: 4 : for (enum pl_color_levels lev = 0; lev < PL_COLOR_LEVELS_COUNT; lev++) { 19 : : int range = pl_levels_to_dav1d(lev); 20 : : enum pl_color_levels lev2 = pl_levels_from_dav1d(range); 21 [ + + ]: 2 : if (lev != PL_COLOR_LEVELS_UNKNOWN) 22 [ - + ]: 2 : REQUIRE_CMP(lev, ==, lev2, "u"); 23 : : } 24 : : 25 [ + + ]: 19 : for (enum pl_color_primaries prim = 0; prim < PL_COLOR_PRIM_COUNT; prim++) { 26 : 18 : enum Dav1dColorPrimaries dpri = pl_primaries_to_dav1d(prim); 27 : : enum pl_color_primaries prim2 = pl_primaries_from_dav1d(dpri); 28 [ + + ]: 18 : if (prim2) 29 [ - + ]: 9 : REQUIRE_CMP(prim, ==, prim2, "u"); 30 : : } 31 : : 32 [ + + ]: 18 : for (enum pl_color_transfer trc = 0; trc < PL_COLOR_TRC_COUNT; trc++) { 33 : 17 : enum Dav1dTransferCharacteristics dtrc = pl_transfer_to_dav1d(trc); 34 : 17 : enum pl_color_transfer trc2 = pl_transfer_from_dav1d(dtrc); 35 [ + + ]: 17 : if (trc2) 36 [ - + ]: 8 : REQUIRE_CMP(trc, ==, trc2, "u"); 37 : : } 38 : : 39 [ + + ]: 8 : for (enum pl_chroma_location loc = 0; loc < PL_CHROMA_COUNT; loc++) { 40 : : enum Dav1dChromaSamplePosition dloc = pl_chroma_to_dav1d(loc); 41 : : enum pl_chroma_location loc2 = pl_chroma_from_dav1d(dloc); 42 : : if (loc2) 43 [ - + ]: 2 : REQUIRE_CMP(loc, ==, loc2, "u"); 44 : : } 45 : : }