LCOV - code coverage report
Current view: top level - src/tests - dav1d.c (source / functions) Hit Total Coverage
Test: Code coverage Lines: 22 22 100.0 %
Date: 2025-03-29 09:04:10 Functions: 1 1 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 25 30 83.3 %

           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                 :            : }

Generated by: LCOV version 1.16