All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: NEXTARG
    functionSourceFile: /src/libavif/tests/avifyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTARG()
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: rgbFormatToString
    functionSourceFile: /src/libavif/tests/avifyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * rgbFormatToString(avifRGBFormat format)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:67,1
    - Dst: avifVersion
      Src: /src/libavif/tests/avifyuv.c:67,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:76,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:76,1
    - Dst: NEXTARG
      Src: /src/libavif/tests/avifyuv.c:77,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:78,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:80,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:82,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:84,1
    - Dst: atoi
      Src: /src/libavif/tests/avifyuv.c:87,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:89,1
    - Dst: strcmp
      Src: /src/libavif/tests/avifyuv.c:89,1
    - Dst: avifFullToLimitedY
      Src: /src/libavif/tests/avifyuv.c:108,1
    - Dst: avifLimitedToFullY
      Src: /src/libavif/tests/avifyuv.c:109,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:114,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:144,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/avifyuv.c:157,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:159,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/avifyuv.c:166,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:167,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:168,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/avifyuv.c:173,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/avifyuv.c:178,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:182,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:183,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:184,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:187,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:188,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:189,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:190,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:201,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/avifyuv.c:229,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/avifyuv.c:229,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:230,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:231,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:232,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:233,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:246,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:250,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:254,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:262,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:266,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:270,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:282,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:293,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:296,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:308,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:316,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:317,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:318,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/avifyuv.c:331,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:333,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/avifyuv.c:341,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:343,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:344,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:345,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/avifyuv.c:383,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/avifyuv.c:386,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:387,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:388,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:389,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/avifyuv.c:394,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:397,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:398,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:399,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:400,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/avifyuv.c:403,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:404,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:405,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:406,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:407,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/avifyuv.c:411,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/avifyuv.c:412,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:413,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:414,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:415,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:416,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/avifyuv.c:421,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:423,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:424,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:425,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:426,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:427,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/avifyuv.c:430,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:431,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:432,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:433,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:434,1
    - Dst: memcmp
      Src: /src/libavif/tests/avifyuv.c:446,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:448,1
    - Dst: rgbFormatToString
      Src: /src/libavif/tests/avifyuv.c:450,1
    - Dst: memcmp
      Src: /src/libavif/tests/avifyuv.c:470,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:472,1
    - Dst: rgbFormatToString
      Src: /src/libavif/tests/avifyuv.c:474,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:495,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:496,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:503,1
    - Dst: avifImageDestroy
      Src: /src/libavif/tests/avifyuv.c:505,1
    - Dst: memset
      Src: /src/libavif/tests/avifyuv.c:515,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/avifyuv.c:527,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:528,1
    - Dst: avifRGBImageUnpremultiplyAlpha
      Src: /src/libavif/tests/avifyuv.c:551,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/avifyuv.c:551,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:552,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:553,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:559,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:561,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:562,1
    - Dst: abs
      Src: /src/libavif/tests/avifyuv.c:577,1
    - Dst: fprintf
      Src: /src/libavif/tests/avifyuv.c:579,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:595,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:600,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:603,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/avifyuv.c:605,1
    - Dst: printf
      Src: /src/libavif/tests/avifyuv.c:609,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 342
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 619
    functionName: main
    functionSourceFile: /src/libavif/tests/avifyuv.c
    functionUses: 0
    functionsReached:
    - avifRGBImageAllocatePixels
    - atoi
    - fprintf
    - avifImageAllocatePlanes
    - abs
    - avifFullToLimitedY
    - avifImageFreePlanes
    - avifImageCreate
    - avifVersion
    - avifImageYUVToRGB
    - strcmp
    - rgbFormatToString
    - avifRGBImageSetDefaults
    - avifRGBImageFreePixels
    - avifImageRGBToYUV
    - memset
    - NEXTARG
    - printf
    - memcmp
    - avifImageDestroy
    - avifLimitedToFullY
    - avifRGBImagePremultiplyAlpha
    - avifRGBImageUnpremultiplyAlpha
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFile
      Src: /src/libavif/tests/aviftest.c:32,1
    - Dst: snprintf
      Src: /src/libavif/tests/aviftest.c:38,1
    - Dst: FindFirstFile
      Src: /src/libavif/tests/aviftest.c:40,1
    - Dst: strrchr
      Src: /src/libavif/tests/aviftest.c:48,1
    - Dst: strcmp
      Src: /src/libavif/tests/aviftest.c:51,1
    - Dst: FindClose
      Src: /src/libavif/tests/aviftest.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - parentDir
    - extension
    - nfd
    argTypes:
    - char*
    - char*
    - NextFilenameData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: nextFilename
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - snprintf
    - FindClose
    - strrchr
    - FindNextFile
    - strcmp
    - FindFirstFile
    linkageType: ''
    returnType: char
    signature: char * nextFilename(const char * parentDir, const char * extension,
      NextFilenameData * nfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libavif/tests/aviftest.c:73,1
    - Dst: readdir
      Src: /src/libavif/tests/aviftest.c:80,1
    - Dst: strrchr
      Src: /src/libavif/tests/aviftest.c:81,1
    - Dst: strcmp
      Src: /src/libavif/tests/aviftest.c:84,1
    - Dst: closedir
      Src: /src/libavif/tests/aviftest.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - parentDir
    - extension
    - nfd
    argTypes:
    - char*
    - char*
    - NextFilenameData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: nextFilename
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - strrchr
    - readdir
    - strcmp
    linkageType: ''
    returnType: char
    signature: char * nextFilename(const char * parentDir, const char * extension,
      NextFilenameData * nfd)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: avifIOTestReaderRead
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifIOTestReaderRead(struct avifIO * io, uint32_t readFlags,
      uint64_t offset, size_t size, avifROData * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/tests/aviftest.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - struct avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: avifIOTestReaderDestroy
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifIOTestReaderDestroy(struct avifIO * io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/tests/aviftest.c:148,1
    - Dst: memset
      Src: /src/libavif/tests/aviftest.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: avifIOCreateTestReader
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - memset
    - avifAlloc
    linkageType: ''
    returnType: avifIOTestReader
    signature: avifIOTestReader * avifIOCreateTestReader(const uint8_t * data, size_t
      size)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:163,1
    - Dst: strlen
      Src: /src/libavif/tests/aviftest.c:168,1
    - Dst: strlen
      Src: /src/libavif/tests/aviftest.c:169,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:172,1
    - Dst: strcpy
      Src: /src/libavif/tests/aviftest.c:175,1
    - Dst: strcat
      Src: /src/libavif/tests/aviftest.c:176,1
    - Dst: strlen
      Src: /src/libavif/tests/aviftest.c:177,1
    - Dst: memset
      Src: /src/libavif/tests/aviftest.c:182,1
    - Dst: nextFilename
      Src: /src/libavif/tests/aviftest.c:184,1
    - Dst: nextFilename
      Src: /src/libavif/tests/aviftest.c:185,1
    - Dst: strlen
      Src: /src/libavif/tests/aviftest.c:187,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:189,1
    - Dst: strcpy
      Src: /src/libavif/tests/aviftest.c:193,1
    - Dst: strcat
      Src: /src/libavif/tests/aviftest.c:194,1
    - Dst: fopen
      Src: /src/libavif/tests/aviftest.c:196,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:198,1
    - Dst: fseek
      Src: /src/libavif/tests/aviftest.c:202,1
    - Dst: ftell
      Src: /src/libavif/tests/aviftest.c:203,1
    - Dst: fseek
      Src: /src/libavif/tests/aviftest.c:204,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/aviftest.c:205,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:206,1
    - Dst: fclose
      Src: /src/libavif/tests/aviftest.c:207,1
    - Dst: fread
      Src: /src/libavif/tests/aviftest.c:211,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:212,1
    - Dst: fclose
      Src: /src/libavif/tests/aviftest.c:213,1
    - Dst: fclose
      Src: /src/libavif/tests/aviftest.c:217,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/tests/aviftest.c:219,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:221,1
    - Dst: avifIOCreateTestReader
      Src: /src/libavif/tests/aviftest.c:225,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/aviftest.c:226,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/aviftest.c:235,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:243,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/aviftest.c:249,1
    - Dst: avifDecoderNthImageMaxExtent
      Src: /src/libavif/tests/aviftest.c:256,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:260,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/aviftest.c:266,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/aviftest.c:268,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:276,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/aviftest.c:284,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/tests/aviftest.c:291,1
    - Dst: avifRWDataFree
      Src: /src/libavif/tests/aviftest.c:294,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 1
    argNames:
    - dataDir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 296
    functionName: runIOTests
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - avifDecoderSetIO
    - avifDecoderNthImageMaxExtent
    - ftell
    - fseek
    - strcat
    - strcpy
    - memset
    - avifDecoderParse
    - fopen
    - avifDecoderCreate
    - avifResultToString
    - printf
    - avifDecoderDestroy
    - strlen
    - avifIOCreateTestReader
    - avifRWDataFree
    - fclose
    - fread
    - avifDecoderNextImage
    - nextFilename
    linkageType: ''
    returnType: int
    signature: int runIOTests(const char * dataDir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/tests/aviftest.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: syntax
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void syntax(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _CrtSetDbgFlag
      Src: /src/libavif/tests/aviftest.c:308,1
    - Dst: strcmp
      Src: /src/libavif/tests/aviftest.c:315,1
    - Dst: fprintf
      Src: /src/libavif/tests/aviftest.c:316,1
    - Dst: fprintf
      Src: /src/libavif/tests/aviftest.c:320,1
    - Dst: syntax
      Src: /src/libavif/tests/aviftest.c:321,1
    - Dst: fprintf
      Src: /src/libavif/tests/aviftest.c:328,1
    - Dst: syntax
      Src: /src/libavif/tests/aviftest.c:329,1
    - Dst: setbuf
      Src: /src/libavif/tests/aviftest.c:333,1
    - Dst: avifCodecVersions
      Src: /src/libavif/tests/aviftest.c:336,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:337,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:338,1
    - Dst: runIOTests
      Src: /src/libavif/tests/aviftest.c:340,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:342,1
    - Dst: printf
      Src: /src/libavif/tests/aviftest.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/libavif/tests/aviftest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - avifCodecVersions
    - printf
    - _CrtSetDbgFlag
    - runIOTests
    - setbuf
    - strcmp
    - syntax
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:29,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:30,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - assert
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:44,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 1
    functionsReached:
    - avif::ModifyImageChannel
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:55,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:58,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:60,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:64,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avifRGBFormatChannelCount
    - std::max
    - std::abs
    - reinterpret_cast<PixelType*>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:74,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 1
    functionsReached:
    - avif::GetDiffSumAndSqDiffSum
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sq_diff_sum
    - num_diffs
    - max_abs_diff
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: avif::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::log10
    linkageType: ''
    returnType: double
    signature: double GetPsnr(double sq_diff_sum, double num_diffs, double max_abs_diff)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:137,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:139,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:141,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:144,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:145,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:153,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:155,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:157,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:162,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:163,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:165,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:171,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:176,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:177,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:179,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:182,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:183,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:185,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:196,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:212,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:213,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:214,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 12
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - rgb_step
    - max_average_abs_diff
    - min_psnr
    - log
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - uint32_t
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 228
    functionName: avif::ConvertWholeRange
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - avif::GetDiffSumAndSqDiffSum
    - EXPECT_LE
    - avifPixelFormatToString
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - std::min
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeRange(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                       avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                      avifMatrixCoefficients matrix_coefficients,\n                       avifChromaDownsampling
      chroma_downsampling,\n                       bool add_noise, uint32_t rgb_step,\n
      \                      double max_average_abs_diff, double min_psnr, bool log)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:248,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:251,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:253,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:255,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:258,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:259,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:260,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:262,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:263,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:265,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:269,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:270,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:280,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - min_psnr
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 288
    functionName: avif::ConvertWholeBuffer
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avifImageRGBToYUV
    - ASSERT_EQ
    - avif::GetDiffSumAndSqDiffSum
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeBuffer(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                        avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                       avifMatrixCoefficients matrix_coefficients,\n                        avifChromaDownsampling
      chroma_downsampling,\n                        bool add_noise, double min_psnr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:325,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 344
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ExhaustiveSettings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:394,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 413
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, AllMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:444,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:445,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: const_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:454,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:456,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - EXPECT_EQ
    - reinterpret_cast<uint8_t*>
    - avifImageCreate
    - const_cast<uint16_t*>
    - ASSERT_NE
    - avifRGBImageSetDefaults
    - ImagePtr::get
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, HighBitDepthGrayToYUV420)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - memset
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ZeroWidthOrHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:534,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<4>
    - std::get<8>
    - std::get<10>
    - std::get<2>
    - GetParam
    - std::get<9>
    - avif::ConvertWholeRange
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeBuffer
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:556,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeBuffer
    - GetParam
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<10>
    - std::get<2>
    - std::get<1>
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:29,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:30,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 3
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - assert
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:44,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 4
    functionsReached:
    - avif::ModifyImageChannel
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:55,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:58,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:60,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:64,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 3
    functionsReached:
    - avifRGBFormatChannelCount
    - std::max
    - std::abs
    - reinterpret_cast<PixelType*>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:74,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 4
    functionsReached:
    - avif::GetDiffSumAndSqDiffSum
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sq_diff_sum
    - num_diffs
    - max_abs_diff
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: avif::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 2
    functionsReached:
    - std::min
    - std::log10
    linkageType: ''
    returnType: double
    signature: double GetPsnr(double sq_diff_sum, double num_diffs, double max_abs_diff)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:137,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:139,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:141,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:144,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:145,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:153,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:155,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:157,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:162,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:163,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:165,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:171,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:176,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:177,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:179,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:182,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:183,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:185,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:196,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:212,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:213,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:214,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 12
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - rgb_step
    - max_average_abs_diff
    - min_psnr
    - log
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - uint32_t
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 228
    functionName: avif::ConvertWholeRange
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - avif::GetDiffSumAndSqDiffSum
    - EXPECT_LE
    - avifPixelFormatToString
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - std::min
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeRange(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                       avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                      avifMatrixCoefficients matrix_coefficients,\n                       avifChromaDownsampling
      chroma_downsampling,\n                       bool add_noise, uint32_t rgb_step,\n
      \                      double max_average_abs_diff, double min_psnr, bool log)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:248,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:251,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:253,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:255,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:258,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:259,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:260,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:262,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:263,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:265,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:269,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:270,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:280,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - min_psnr
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 288
    functionName: avif::ConvertWholeBuffer
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 1
    functionsReached:
    - avifImageRGBToYUV
    - ASSERT_EQ
    - avif::GetDiffSumAndSqDiffSum
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeBuffer(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                        avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                       avifMatrixCoefficients matrix_coefficients,\n                        avifChromaDownsampling
      chroma_downsampling,\n                        bool add_noise, double min_psnr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:325,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 344
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ExhaustiveSettings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:394,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 413
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, AllMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:444,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:445,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: const_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:454,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:456,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - EXPECT_EQ
    - reinterpret_cast<uint8_t*>
    - avifImageCreate
    - const_cast<uint16_t*>
    - ASSERT_NE
    - avifRGBImageSetDefaults
    - ImagePtr::get
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, HighBitDepthGrayToYUV420)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - memset
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ZeroWidthOrHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:534,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<4>
    - std::get<8>
    - std::get<10>
    - std::get<2>
    - GetParam
    - std::get<9>
    - avif::ConvertWholeRange
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeBuffer
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:556,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeBuffer
    - GetParam
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<10>
    - std::get<2>
    - std::get<1>
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:29,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:30,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 6
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - assert
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:44,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 7
    functionsReached:
    - avif::ModifyImageChannel
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:55,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:58,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:60,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:64,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 6
    functionsReached:
    - avifRGBFormatChannelCount
    - std::max
    - std::abs
    - reinterpret_cast<PixelType*>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:74,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 7
    functionsReached:
    - avif::GetDiffSumAndSqDiffSum
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sq_diff_sum
    - num_diffs
    - max_abs_diff
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: avif::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 4
    functionsReached:
    - std::min
    - std::log10
    linkageType: ''
    returnType: double
    signature: double GetPsnr(double sq_diff_sum, double num_diffs, double max_abs_diff)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:137,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:139,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:141,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:144,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:145,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:153,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:155,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:157,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:162,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:163,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:165,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:171,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:176,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:177,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:179,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:182,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:183,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:185,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:196,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:212,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:213,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:214,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 12
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - rgb_step
    - max_average_abs_diff
    - min_psnr
    - log
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - uint32_t
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 228
    functionName: avif::ConvertWholeRange
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 6
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - avif::GetDiffSumAndSqDiffSum
    - EXPECT_LE
    - avifPixelFormatToString
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - std::min
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeRange(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                       avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                      avifMatrixCoefficients matrix_coefficients,\n                       avifChromaDownsampling
      chroma_downsampling,\n                       bool add_noise, uint32_t rgb_step,\n
      \                      double max_average_abs_diff, double min_psnr, bool log)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:248,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:251,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:253,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:255,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:258,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:259,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:260,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:262,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:263,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:265,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:269,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:270,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:280,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - min_psnr
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 288
    functionName: avif::ConvertWholeBuffer
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 2
    functionsReached:
    - avifImageRGBToYUV
    - ASSERT_EQ
    - avif::GetDiffSumAndSqDiffSum
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeBuffer(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                        avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                       avifMatrixCoefficients matrix_coefficients,\n                        avifChromaDownsampling
      chroma_downsampling,\n                        bool add_noise, double min_psnr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:325,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 344
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ExhaustiveSettings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:394,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 413
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, AllMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:444,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:445,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: const_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:454,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:456,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - EXPECT_EQ
    - reinterpret_cast<uint8_t*>
    - avifImageCreate
    - const_cast<uint16_t*>
    - ASSERT_NE
    - avifRGBImageSetDefaults
    - ImagePtr::get
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, HighBitDepthGrayToYUV420)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - memset
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ZeroWidthOrHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:534,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<4>
    - std::get<8>
    - std::get<10>
    - std::get<2>
    - GetParam
    - std::get<9>
    - avif::ConvertWholeRange
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeBuffer
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:556,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeBuffer
    - GetParam
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<10>
    - std::get<2>
    - std::get<1>
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:29,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:30,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 9
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - assert
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:44,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - image
    - channel_offset
    - modifier
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: avif::ModifyImageChannel
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 10
    functionsReached:
    - avif::ModifyImageChannel
    linkageType: ''
    returnType: void
    signature: "void ModifyImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                       const uint8_t modifier[kModifierSize])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:55,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:58,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:60,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:63,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:64,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    - Dst: std::abs
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 9
    functionsReached:
    - avifRGBFormatChannelCount
    - std::max
    - std::abs
    - reinterpret_cast<PixelType*>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:74,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - abs_diff_sum
    - sq_diff_sum
    - max_abs_diff
    argTypes:
    - avifRGBImage
    - avifRGBImage
    - int64_t*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: avif::GetDiffSumAndSqDiffSum
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 10
    functionsReached:
    - avif::GetDiffSumAndSqDiffSum
    linkageType: ''
    returnType: void
    signature: "void GetDiffSumAndSqDiffSum(const avifRGBImage& a, const avifRGBImage&
      b,\n                            int64_t* abs_diff_sum, int64_t* sq_diff_sum,\n
      \                           int64_t* max_abs_diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sq_diff_sum
    - num_diffs
    - max_abs_diff
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: avif::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 6
    functionsReached:
    - std::min
    - std::log10
    linkageType: ''
    returnType: double
    signature: double GetPsnr(double sq_diff_sum, double num_diffs, double max_abs_diff)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:137,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:139,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:141,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:144,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:145,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:153,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:155,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:157,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:162,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:163,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:165,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:170,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:171,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:176,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:177,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:179,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:182,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:183,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:185,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:194,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:195,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:196,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:210,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:211,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:212,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:213,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:214,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 12
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - rgb_step
    - max_average_abs_diff
    - min_psnr
    - log
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - uint32_t
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 228
    functionName: avif::ConvertWholeRange
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 9
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - avif::GetDiffSumAndSqDiffSum
    - EXPECT_LE
    - avifPixelFormatToString
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - std::min
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeRange(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                       avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                      avifMatrixCoefficients matrix_coefficients,\n                       avifChromaDownsampling
      chroma_downsampling,\n                       bool add_noise, uint32_t rgb_step,\n
      \                      double max_average_abs_diff, double min_psnr, bool log)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:248,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:251,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:253,1
    - Dst: avif::testutil::GetRgbChannelOffsets
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:255,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:258,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:259,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:260,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:262,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:263,1
    - Dst: avif::ModifyImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:265,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:269,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:270,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:273,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:279,1
    - Dst: avif::GetDiffSumAndSqDiffSum
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:280,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: avif::GetPsnr
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:285,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - rgb_depth
    - yuv_depth
    - rgb_format
    - yuv_format
    - yuv_range
    - matrix_coefficients
    - chroma_downsampling
    - add_noise
    - min_psnr
    argTypes:
    - int
    - int
    - avifRGBFormat
    - avifPixelFormat
    - avifRange
    - avifMatrixCoefficients
    - avifChromaDownsampling
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 288
    functionName: avif::ConvertWholeBuffer
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 3
    functionsReached:
    - avifImageRGBToYUV
    - ASSERT_EQ
    - avif::GetDiffSumAndSqDiffSum
    - avifRGBFormatHasAlpha
    - EXPECT_GE
    - avif::testutil::GetRgbChannelOffsets
    - static_cast<double>
    - avifImageYUVToRGB
    - avif::ModifyImageChannel
    - ASSERT_NE
    - avif::testutil::FillImageChannel
    - ImagePtr::get
    - GTEST_SKIP
    - avif::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ConvertWholeBuffer(int rgb_depth, int yuv_depth, avifRGBFormat
      rgb_format,\n                        avifPixelFormat yuv_format, avifRange yuv_range,\n
      \                       avifMatrixCoefficients matrix_coefficients,\n                        avifChromaDownsampling
      chroma_downsampling,\n                        bool add_noise, double min_psnr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:325,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 344
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ExhaustiveSettings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:394,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 413
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeRange
    - static_cast<avifMatrixCoefficients>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, AllMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:444,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:445,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:447,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: const_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:452,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:454,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:456,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - EXPECT_EQ
    - reinterpret_cast<uint8_t*>
    - avifImageCreate
    - const_cast<uint16_t*>
    - ASSERT_NE
    - avifRGBImageSetDefaults
    - ImagePtr::get
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, HighBitDepthGrayToYUV420)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:515,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:519,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - memset
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(RGBToYUVTest, ZeroWidthOrHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeRange
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:534,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:535,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:536,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:537,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:538,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:539,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:540,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:541,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:544,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:547,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:549,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<4>
    - std::get<8>
    - std::get<10>
    - std::get<2>
    - GetParam
    - std::get<9>
    - avif::ConvertWholeRange
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ConvertWholeBuffer
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:556,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:557,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:558,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:559,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:560,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:561,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:562,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:563,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:565,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
    functionUses: 0
    functionsReached:
    - avif::ConvertWholeBuffer
    - GetParam
    - std::get<5>
    - std::get<3>
    - std::get<7>
    - std::get<6>
    - std::get<0>
    - std::get<10>
    - std::get<2>
    - std::get<1>
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(RGBToYUVTest, ConvertWholeBuffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:44,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:45,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:46,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:48,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:75,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:78,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:79,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:80,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - ' cell_rows'
    - yuv_format
    argTypes:
    - std::vector<std::vector<Cell>>
    - avifPixelFormat
    assertStmts:
    - condition: (cell_row.size() == cell_rows.front().size())
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    constantsTouched: []
    func_position:
      end: 89
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 89
    functionName: avif::EncodeDecodeGrid
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::MergeGrid
    - assert
    - std::vector::back
    - avifEncoderAddImageGrid
    - std::vector::emplace_back
    - static_cast<uint32_t>
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avif::testutil::CreateImage
    - std::vector::data
    - std::vector::reserve
    - static_cast<int>
    - avifEncoderFinish
    - front
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - get
    - size
    - AVIF_CHECKRES
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult EncodeDecodeGrid(const std::vector<std::vector<Cell>>&
      cell_rows,\n                            avifPixelFormat yuv_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SingleCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfSameDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:161,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfDifferentDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:225,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:230,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:244,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 251
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SameMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:254,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:259,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:270,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:274,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, DifferentMatrixCoefficients)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:44,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:45,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:46,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:48,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:75,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:78,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:79,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:80,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - ' cell_rows'
    - yuv_format
    argTypes:
    - std::vector<std::vector<Cell>>
    - avifPixelFormat
    assertStmts:
    - condition: (cell_row.size() == cell_rows.front().size())
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    constantsTouched: []
    func_position:
      end: 89
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 89
    functionName: avif::EncodeDecodeGrid
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 3
    functionsReached:
    - avif::testutil::MergeGrid
    - assert
    - std::vector::back
    - avifEncoderAddImageGrid
    - std::vector::emplace_back
    - static_cast<uint32_t>
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avif::testutil::CreateImage
    - std::vector::data
    - std::vector::reserve
    - static_cast<int>
    - avifEncoderFinish
    - front
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - get
    - size
    - AVIF_CHECKRES
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult EncodeDecodeGrid(const std::vector<std::vector<Cell>>&
      cell_rows,\n                            avifPixelFormat yuv_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SingleCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfSameDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:161,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfDifferentDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:225,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:230,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:244,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 251
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SameMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:254,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:259,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:270,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:274,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, DifferentMatrixCoefficients)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:44,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:45,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:46,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:48,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:75,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:78,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:79,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:80,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - ' cell_rows'
    - yuv_format
    argTypes:
    - std::vector<std::vector<Cell>>
    - avifPixelFormat
    assertStmts:
    - condition: (cell_row.size() == cell_rows.front().size())
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    constantsTouched: []
    func_position:
      end: 89
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 89
    functionName: avif::EncodeDecodeGrid
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 6
    functionsReached:
    - avif::testutil::MergeGrid
    - assert
    - std::vector::back
    - avifEncoderAddImageGrid
    - std::vector::emplace_back
    - static_cast<uint32_t>
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avif::testutil::CreateImage
    - std::vector::data
    - std::vector::reserve
    - static_cast<int>
    - avifEncoderFinish
    - front
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - get
    - size
    - AVIF_CHECKRES
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult EncodeDecodeGrid(const std::vector<std::vector<Cell>>&
      cell_rows,\n                            avifPixelFormat yuv_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SingleCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfSameDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:161,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfDifferentDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:225,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:230,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:244,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 251
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SameMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:254,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:259,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:270,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:274,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, DifferentMatrixCoefficients)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:22,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:24,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:26,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:31,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:44,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:45,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:46,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:48,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: front
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:50,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:75,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:76,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:78,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:79,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:80,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:81,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - ' cell_rows'
    - yuv_format
    argTypes:
    - std::vector<std::vector<Cell>>
    - avifPixelFormat
    assertStmts:
    - condition: (cell_row.size() == cell_rows.front().size())
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    constantsTouched: []
    func_position:
      end: 89
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 89
    functionName: avif::EncodeDecodeGrid
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 9
    functionsReached:
    - avif::testutil::MergeGrid
    - assert
    - std::vector::back
    - avifEncoderAddImageGrid
    - std::vector::emplace_back
    - static_cast<uint32_t>
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avif::testutil::CreateImage
    - std::vector::data
    - std::vector::reserve
    - static_cast<int>
    - avifEncoderFinish
    - front
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - get
    - size
    - AVIF_CHECKRES
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult EncodeDecodeGrid(const std::vector<std::vector<Cell>>&
      cell_rows,\n                            avifPixelFormat yuv_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SingleCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfSameDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:161,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    - Dst: avif::EncodeDecodeGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - avif::EncodeDecodeGrid
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, CellsOfDifferentDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:225,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:230,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:233,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:244,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:249,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 251
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, SameMatrixCoefficients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:254,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:259,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:262,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:263,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:270,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:273,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:274,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgridapitest.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgridapitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GridApiTest, DifferentMatrixCoefficients)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' path'
    - bit_depth
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: avif::ReadImageLosslessBitDepth
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - EXPECT_EQ
    - c_str
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImageLosslessBitDepth(const std::string& path,\n                                   uint32_t
      bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:57,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:58,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:59,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:60,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:64,1
    - Dst: std::accumulate
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' image'
    - channel
    argTypes:
    - avifImage
    - avifChannelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: avif::GetSampleValueSpread
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - std::vector::begin
    - std::vector::size
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - std::vector::end
    - avifImagePlaneRowBytes
    - std::accumulate
    linkageType: ''
    returnType: double
    signature: double GetSampleValueSpread(const avifImage& image, avifChannelIndex
      channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:77,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:90,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - avif::GetSampleValueSpread
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - ASSERT_TRUE
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avifPNGWrite
    - EXPECT_TRUE
    - avif::ReadImageLosslessBitDepth
    linkageType: ''
    returnType: void
    signature: void TEST(BitDepthTest, Png16b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' path'
    - bit_depth
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: avif::ReadImageLosslessBitDepth
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 1
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - EXPECT_EQ
    - c_str
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImageLosslessBitDepth(const std::string& path,\n                                   uint32_t
      bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:57,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:58,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:59,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:60,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:64,1
    - Dst: std::accumulate
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' image'
    - channel
    argTypes:
    - avifImage
    - avifChannelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: avif::GetSampleValueSpread
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 1
    functionsReached:
    - avifImagePlaneHeight
    - std::vector::begin
    - std::vector::size
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - std::vector::end
    - avifImagePlaneRowBytes
    - std::accumulate
    linkageType: ''
    returnType: double
    signature: double GetSampleValueSpread(const avifImage& image, avifChannelIndex
      channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:77,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:90,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - avif::GetSampleValueSpread
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - ASSERT_TRUE
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avifPNGWrite
    - EXPECT_TRUE
    - avif::ReadImageLosslessBitDepth
    linkageType: ''
    returnType: void
    signature: void TEST(BitDepthTest, Png16b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' path'
    - bit_depth
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: avif::ReadImageLosslessBitDepth
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 2
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - EXPECT_EQ
    - c_str
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImageLosslessBitDepth(const std::string& path,\n                                   uint32_t
      bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:57,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:58,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:59,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:60,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:64,1
    - Dst: std::accumulate
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' image'
    - channel
    argTypes:
    - avifImage
    - avifChannelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: avif::GetSampleValueSpread
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 2
    functionsReached:
    - avifImagePlaneHeight
    - std::vector::begin
    - std::vector::size
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - std::vector::end
    - avifImagePlaneRowBytes
    - std::accumulate
    linkageType: ''
    returnType: double
    signature: double GetSampleValueSpread(const avifImage& image, avifChannelIndex
      channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:77,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:90,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - avif::GetSampleValueSpread
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - ASSERT_TRUE
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avifPNGWrite
    - EXPECT_TRUE
    - avif::ReadImageLosslessBitDepth
    linkageType: ''
    returnType: void
    signature: void TEST(BitDepthTest, Png16b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' path'
    - bit_depth
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: avif::ReadImageLosslessBitDepth
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 3
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - EXPECT_EQ
    - c_str
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImageLosslessBitDepth(const std::string& path,\n                                   uint32_t
      bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:57,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:58,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:59,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:60,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:64,1
    - Dst: std::accumulate
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:67,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' image'
    - channel
    argTypes:
    - avifImage
    - avifChannelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: avif::GetSampleValueSpread
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 3
    functionsReached:
    - avifImagePlaneHeight
    - std::vector::begin
    - std::vector::size
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - std::vector::end
    - avifImagePlaneRowBytes
    - std::accumulate
    linkageType: ''
    returnType: double
    signature: double GetSampleValueSpread(const avifImage& image, avifChannelIndex
      channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:77,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:80,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:81,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: avif::GetSampleValueSpread
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:82,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:87,1
    - Dst: avif::ReadImageLosslessBitDepth
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:90,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - avif::GetSampleValueSpread
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - ASSERT_TRUE
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avifPNGWrite
    - EXPECT_TRUE
    - avif::ReadImageLosslessBitDepth
    linkageType: ''
    returnType: void
    signature: void TEST(BitDepthTest, Png16b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:103,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifpng16bittest.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifpng16bittest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: avifBreakOnError
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: AVIF_CHECK
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: AVIF_CHECKRES
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKRES(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData(const AvifRwData&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~AvifRwData()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void ~AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AvifRgbImage()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~AvifRgbImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData(const AvifRwData&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~AvifRwData()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void ~AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AvifRgbImage()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~AvifRgbImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData(const AvifRwData&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~AvifRwData()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void ~AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AvifRgbImage()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~AvifRgbImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData(const AvifRwData&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~AvifRwData()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void ~AvifRwData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AvifRgbImage()
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~AvifRgbImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, CreateEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - format
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::IsValidAvifImageCreate
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsValidAvifImageCreate(uint32_t width, uint32_t height, uint32_t
      depth,\n                            avifPixelFormat format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:27,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:28,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:29,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - std::numeric_limits<uint32_t>::max
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:38,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:46,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::WriteImage
    - avif::testutil::CreateImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, WriteImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, CreateEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - format
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::IsValidAvifImageCreate
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsValidAvifImageCreate(uint32_t width, uint32_t height, uint32_t
      depth,\n                            avifPixelFormat format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:27,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:28,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:29,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - std::numeric_limits<uint32_t>::max
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:38,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:46,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::WriteImage
    - avif::testutil::CreateImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, WriteImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, CreateEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - format
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::IsValidAvifImageCreate
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsValidAvifImageCreate(uint32_t width, uint32_t height, uint32_t
      depth,\n                            avifPixelFormat format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:27,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:28,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:29,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - std::numeric_limits<uint32_t>::max
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:38,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:46,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::WriteImage
    - avif::testutil::CreateImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, WriteImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, CreateEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - format
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::IsValidAvifImageCreate
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsValidAvifImageCreate(uint32_t width, uint32_t height, uint32_t
      depth,\n                            avifPixelFormat format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:26,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:27,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:28,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:29,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:31,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifimagetest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - std::numeric_limits<uint32_t>::max
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:37,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:38,1
    - Dst: avif::IsValidAvifImageCreate
      Src: /src/libavif/tests/gtest/avifimagetest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::IsValidAvifImageCreate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, Invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:46,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:47,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifimagetest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifimagetest.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifimagetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::WriteImage
    - avif::testutil::CreateImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifImageTest, WriteImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifclaptest.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:90,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifclaptest.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - avifCropRectFromCleanApertureBox
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(InvalidClapPropertyTest, ValidateClapProperty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifclaptest.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:159,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:159,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/tests/gtest/avifclaptest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:168,1
    - Dst: avifCropRectConvertCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:183,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/avifclaptest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:193,1
    - Dst: avifCleanApertureBoxConvertCropRect
      Src: /src/libavif/tests/gtest/avifclaptest.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 210
    functionName: TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifclaptest.cc
    functionUses: 0
    functionsReached:
    - avifCropRectFromCleanApertureBox
    - avifCropRectRequiresUpsampling
    - EXPECT_EQ
    - avifCleanApertureBoxConvertCropRect
    - avifCropRectConvertCleanApertureBox
    - avifCleanApertureBoxFromCropRect
    - GetParam
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(ValidClapPropertyTest, ValidateClapProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifclaptest.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:90,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifclaptest.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - avifCropRectFromCleanApertureBox
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(InvalidClapPropertyTest, ValidateClapProperty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifclaptest.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:159,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:159,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/tests/gtest/avifclaptest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:168,1
    - Dst: avifCropRectConvertCleanApertureBox
      Src: /src/libavif/tests/gtest/avifclaptest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifclaptest.cc:183,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/avifclaptest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:193,1
    - Dst: avifCleanApertureBoxConvertCropRect
      Src: /src/libavif/tests/gtest/avifclaptest.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifclaptest.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 210
    functionName: TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifclaptest.cc
    functionUses: 0
    functionsReached:
    - avifCropRectFromCleanApertureBox
    - avifCropRectRequiresUpsampling
    - EXPECT_EQ
    - avifCleanApertureBoxConvertCropRect
    - avifCropRectConvertCleanApertureBox
    - avifCleanApertureBoxFromCropRect
    - GetParam
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(ValidClapPropertyTest, ValidateClapProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 63
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmMiniTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:90,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:97,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmMiniTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 63
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmMiniTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:90,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:97,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmMiniTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 63
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmMiniTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:90,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:97,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmMiniTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:43,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:57,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 63
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmMiniTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:90,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:97,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:98,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmminitest.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmminitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmMiniTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:19,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:20,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcodectest.cc:21,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcodectest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcodectest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_P(CodecTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:19,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:20,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcodectest.cc:21,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcodectest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcodectest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_P(CodecTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:19,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:20,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcodectest.cc:21,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcodectest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcodectest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_P(CodecTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:16,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcodectest.cc:17,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:19,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcodectest.cc:20,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcodectest.cc:21,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcodectest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:28,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcodectest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcodectest.cc:44,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcodectest.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcodectest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_P(CodecTest, EncodeDecode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:61,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: avif::testutil::CreateAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage8b(size_t width, size_t height,\n                           avifPixelFormat
      pixel_format, bool has_alpha,\n                           const std::vector<uint8_t>&
      samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: avif::testutil::CreateAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage16b(size_t width, size_t height, int depth,\n
      \                           avifPixelFormat pixel_format, bool has_alpha,\n
      \                           const std::vector<uint16_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:78,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:79,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: avif::testutil::CreateAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim8b(size_t num_frames, size_t width,\n
      \                                      size_t height,\n                                       avifPixelFormat
      pixel_format,\n                                       bool has_alpha,\n                                       const
      std::vector<uint8_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:95,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:96,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:98,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:99,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:100,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - num_frames
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: avif::testutil::CreateAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim16b(size_t num_frames, size_t
      width,\n                                        size_t height, int depth,\n
      \                                       avifPixelFormat pixel_format,\n                                        bool
      has_alpha,\n                                        const std::vector<uint16_t>&
      samples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:113,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:119,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:120,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:122,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - codec_choice
    - max_threads
    - min_quantizer
    - max_quantizer
    - min_quantizer_alpha
    - max_quantizer_alpha
    - tile_rows_log2
    - tile_cols_log2
    - speed
    argTypes:
    - avifCodecChoice
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: avif::testutil::CreateAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::min
    - EncoderPtr::get
    - std::max
    linkageType: ''
    returnType: EncoderPtr
    signature: "EncoderPtr CreateAvifEncoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            int min_quantizer, int max_quantizer,\n                             int
      min_quantizer_alpha, int max_quantizer_alpha,\n                             int
      tile_rows_log2, int tile_cols_log2,\n                             int speed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 11
    argNames:
    - codec_choice
    - max_threads
    - requested_source
    - allow_progressive
    - allow_incremental
    - ignore_exif
    - ignore_xmp
    - image_size_limit
    - image_dimension_limit
    - image_count_limit
    - strict_flags
    argTypes:
    - avifCodecChoice
    - int
    - avifDecoderSource
    - bool
    - bool
    - bool
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - avifStrictFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: avif::testutil::CreateAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - DecoderPtr::get
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr CreateAvifDecoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            avifDecoderSource requested_source,\n                             bool
      allow_progressive, bool allow_incremental,\n                             bool
      ignore_exif, bool ignore_xmp,\n                             uint32_t image_size_limit,\n
      \                            uint32_t image_dimension_limit,\n                             uint32_t
      image_count_limit,\n                             avifStrictFlags strict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: avif::testutil::AvifImageToUniquePtr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr AvifImageToUniquePtr(avifImage* image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - image_content_to_decode
    argTypes:
    - DecoderPtr
    - avifImageContentTypeFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: avif::testutil::AddGainMapOptionsToDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr AddGainMapOptionsToDecoder(\n    DecoderPtr decoder, avifImageContentTypeFlags
      image_content_to_decode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:181,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 28
    argNames:
    - image
    - gain_map
    - ' gain_map_min_max0'
    - ' gain_map_min_max1'
    - ' gain_map_min_max2'
    - gain_map_gamma_n0
    - gain_map_gamma_n1
    - gain_map_gamma_n2
    - gain_map_gamma_d0
    - gain_map_gamma_d1
    - gain_map_gamma_d2
    - base_offset_n0
    - base_offset_n1
    - base_offset_n2
    - base_offset_d0
    - base_offset_d1
    - base_offset_d2
    - alternate_offset_n0
    - alternate_offset_n1
    - alternate_offset_n2
    - alternate_offset_d0
    - alternate_offset_d1
    - alternate_offset_d2
    - base_hdr_headroom_n
    - base_hdr_headroom_d
    - alternate_hdr_headroom_n
    - alternate_hdr_headroom_d
    - use_base_color_space
    argTypes:
    - ImagePtr
    - ImagePtr
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 213
    functionName: avif::testutil::AddGainMapToImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::release
    - avifGainMapCreate
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr AddGainMapToImage(\n    ImagePtr image, ImagePtr gain_map,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max0,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max1,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max2,\n
      \   uint32_t gain_map_gamma_n0, uint32_t gain_map_gamma_n1,\n    uint32_t gain_map_gamma_n2,
      uint32_t gain_map_gamma_d0,\n    uint32_t gain_map_gamma_d1, uint32_t gain_map_gamma_d2,\n
      \   int32_t base_offset_n0, int32_t base_offset_n1, int32_t base_offset_n2,\n
      \   uint32_t base_offset_d0, uint32_t base_offset_d1, uint32_t base_offset_d2,\n
      \   int32_t alternate_offset_n0, int32_t alternate_offset_n1,\n    int32_t alternate_offset_n2,
      uint32_t alternate_offset_d0,\n    uint32_t alternate_offset_d1, uint32_t alternate_offset_d2,\n
      \   uint32_t base_hdr_headroom_n, uint32_t base_hdr_headroom_d,\n    uint32_t
      alternate_hdr_headroom_n, uint32_t alternate_hdr_headroom_d,\n    bool use_base_color_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: avif::testutil::GetNumSamples
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 2
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: size_t
    signature: "size_t GetNumSamples(size_t num_frames, size_t width, size_t height,\n
      \                    avifPixelFormat pixel_format, bool has_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:244,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: avif::testutil::GetSeedDataDirs
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::string
    - std::getenv
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSeedDataDirs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:264,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:265,1
    - Dst: fuzztest::ReadFilesFromDirectory
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:277,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: auto::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:280,1
    - Dst: empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:281,1
    - Dst: avifGuessBufferFileFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:282,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:284,1
    - Dst: std::find
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: begin
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:286,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:294,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:297,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - max_file_size
    - ' image_formats'
    argTypes:
    - size_t
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: avif::testutil::GetTestImagesContents
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - empty
    - size
    - begin
    - std::abort
    - reinterpret_cast<const uint8_t*>
    - std::vector::size
    - avifGuessBufferFileFormat
    - std::vector::empty
    - std::vector::reserve
    - std::move
    - std::find
    - end
    - avif::testutil::GetSeedDataDirs
    - fuzztest::ReadFilesFromDirectory
    - auto::size
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> GetTestImagesContents(\n    size_t max_file_size,
      const std::vector<avifAppFileFormat>& image_formats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:61,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: avif::testutil::CreateAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage8b(size_t width, size_t height,\n                           avifPixelFormat
      pixel_format, bool has_alpha,\n                           const std::vector<uint8_t>&
      samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: avif::testutil::CreateAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage16b(size_t width, size_t height, int depth,\n
      \                           avifPixelFormat pixel_format, bool has_alpha,\n
      \                           const std::vector<uint16_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:78,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:79,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: avif::testutil::CreateAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim8b(size_t num_frames, size_t width,\n
      \                                      size_t height,\n                                       avifPixelFormat
      pixel_format,\n                                       bool has_alpha,\n                                       const
      std::vector<uint8_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:95,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:96,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:98,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:99,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:100,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - num_frames
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: avif::testutil::CreateAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim16b(size_t num_frames, size_t
      width,\n                                        size_t height, int depth,\n
      \                                       avifPixelFormat pixel_format,\n                                        bool
      has_alpha,\n                                        const std::vector<uint16_t>&
      samples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:113,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:119,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:120,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:122,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - codec_choice
    - max_threads
    - min_quantizer
    - max_quantizer
    - min_quantizer_alpha
    - max_quantizer_alpha
    - tile_rows_log2
    - tile_cols_log2
    - speed
    argTypes:
    - avifCodecChoice
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: avif::testutil::CreateAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::min
    - EncoderPtr::get
    - std::max
    linkageType: ''
    returnType: EncoderPtr
    signature: "EncoderPtr CreateAvifEncoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            int min_quantizer, int max_quantizer,\n                             int
      min_quantizer_alpha, int max_quantizer_alpha,\n                             int
      tile_rows_log2, int tile_cols_log2,\n                             int speed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 11
    argNames:
    - codec_choice
    - max_threads
    - requested_source
    - allow_progressive
    - allow_incremental
    - ignore_exif
    - ignore_xmp
    - image_size_limit
    - image_dimension_limit
    - image_count_limit
    - strict_flags
    argTypes:
    - avifCodecChoice
    - int
    - avifDecoderSource
    - bool
    - bool
    - bool
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - avifStrictFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: avif::testutil::CreateAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - DecoderPtr::get
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr CreateAvifDecoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            avifDecoderSource requested_source,\n                             bool
      allow_progressive, bool allow_incremental,\n                             bool
      ignore_exif, bool ignore_xmp,\n                             uint32_t image_size_limit,\n
      \                            uint32_t image_dimension_limit,\n                             uint32_t
      image_count_limit,\n                             avifStrictFlags strict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: avif::testutil::AvifImageToUniquePtr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr AvifImageToUniquePtr(avifImage* image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - image_content_to_decode
    argTypes:
    - DecoderPtr
    - avifImageContentTypeFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: avif::testutil::AddGainMapOptionsToDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr AddGainMapOptionsToDecoder(\n    DecoderPtr decoder, avifImageContentTypeFlags
      image_content_to_decode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:181,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 28
    argNames:
    - image
    - gain_map
    - ' gain_map_min_max0'
    - ' gain_map_min_max1'
    - ' gain_map_min_max2'
    - gain_map_gamma_n0
    - gain_map_gamma_n1
    - gain_map_gamma_n2
    - gain_map_gamma_d0
    - gain_map_gamma_d1
    - gain_map_gamma_d2
    - base_offset_n0
    - base_offset_n1
    - base_offset_n2
    - base_offset_d0
    - base_offset_d1
    - base_offset_d2
    - alternate_offset_n0
    - alternate_offset_n1
    - alternate_offset_n2
    - alternate_offset_d0
    - alternate_offset_d1
    - alternate_offset_d2
    - base_hdr_headroom_n
    - base_hdr_headroom_d
    - alternate_hdr_headroom_n
    - alternate_hdr_headroom_d
    - use_base_color_space
    argTypes:
    - ImagePtr
    - ImagePtr
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 213
    functionName: avif::testutil::AddGainMapToImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::release
    - avifGainMapCreate
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr AddGainMapToImage(\n    ImagePtr image, ImagePtr gain_map,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max0,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max1,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max2,\n
      \   uint32_t gain_map_gamma_n0, uint32_t gain_map_gamma_n1,\n    uint32_t gain_map_gamma_n2,
      uint32_t gain_map_gamma_d0,\n    uint32_t gain_map_gamma_d1, uint32_t gain_map_gamma_d2,\n
      \   int32_t base_offset_n0, int32_t base_offset_n1, int32_t base_offset_n2,\n
      \   uint32_t base_offset_d0, uint32_t base_offset_d1, uint32_t base_offset_d2,\n
      \   int32_t alternate_offset_n0, int32_t alternate_offset_n1,\n    int32_t alternate_offset_n2,
      uint32_t alternate_offset_d0,\n    uint32_t alternate_offset_d1, uint32_t alternate_offset_d2,\n
      \   uint32_t base_hdr_headroom_n, uint32_t base_hdr_headroom_d,\n    uint32_t
      alternate_hdr_headroom_n, uint32_t alternate_hdr_headroom_d,\n    bool use_base_color_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: avif::testutil::GetNumSamples
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: size_t
    signature: "size_t GetNumSamples(size_t num_frames, size_t width, size_t height,\n
      \                    avifPixelFormat pixel_format, bool has_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:244,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: avif::testutil::GetSeedDataDirs
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - std::string
    - std::getenv
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSeedDataDirs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:264,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:265,1
    - Dst: fuzztest::ReadFilesFromDirectory
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:277,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: auto::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:280,1
    - Dst: empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:281,1
    - Dst: avifGuessBufferFileFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:282,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:284,1
    - Dst: std::find
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: begin
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:286,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:294,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:297,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - max_file_size
    - ' image_formats'
    argTypes:
    - size_t
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: avif::testutil::GetTestImagesContents
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - empty
    - size
    - begin
    - std::abort
    - reinterpret_cast<const uint8_t*>
    - std::vector::size
    - avifGuessBufferFileFormat
    - std::vector::empty
    - std::vector::reserve
    - std::move
    - std::find
    - end
    - avif::testutil::GetSeedDataDirs
    - fuzztest::ReadFilesFromDirectory
    - auto::size
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> GetTestImagesContents(\n    size_t max_file_size,
      const std::vector<avifAppFileFormat>& image_formats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:61,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: avif::testutil::CreateAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage8b(size_t width, size_t height,\n                           avifPixelFormat
      pixel_format, bool has_alpha,\n                           const std::vector<uint8_t>&
      samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: avif::testutil::CreateAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage16b(size_t width, size_t height, int depth,\n
      \                           avifPixelFormat pixel_format, bool has_alpha,\n
      \                           const std::vector<uint16_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:78,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:79,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: avif::testutil::CreateAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim8b(size_t num_frames, size_t width,\n
      \                                      size_t height,\n                                       avifPixelFormat
      pixel_format,\n                                       bool has_alpha,\n                                       const
      std::vector<uint8_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:95,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:96,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:98,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:99,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:100,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - num_frames
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: avif::testutil::CreateAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim16b(size_t num_frames, size_t
      width,\n                                        size_t height, int depth,\n
      \                                       avifPixelFormat pixel_format,\n                                        bool
      has_alpha,\n                                        const std::vector<uint16_t>&
      samples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:113,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:119,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:120,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:122,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - codec_choice
    - max_threads
    - min_quantizer
    - max_quantizer
    - min_quantizer_alpha
    - max_quantizer_alpha
    - tile_rows_log2
    - tile_cols_log2
    - speed
    argTypes:
    - avifCodecChoice
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: avif::testutil::CreateAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::min
    - EncoderPtr::get
    - std::max
    linkageType: ''
    returnType: EncoderPtr
    signature: "EncoderPtr CreateAvifEncoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            int min_quantizer, int max_quantizer,\n                             int
      min_quantizer_alpha, int max_quantizer_alpha,\n                             int
      tile_rows_log2, int tile_cols_log2,\n                             int speed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 11
    argNames:
    - codec_choice
    - max_threads
    - requested_source
    - allow_progressive
    - allow_incremental
    - ignore_exif
    - ignore_xmp
    - image_size_limit
    - image_dimension_limit
    - image_count_limit
    - strict_flags
    argTypes:
    - avifCodecChoice
    - int
    - avifDecoderSource
    - bool
    - bool
    - bool
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - avifStrictFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: avif::testutil::CreateAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - DecoderPtr::get
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr CreateAvifDecoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            avifDecoderSource requested_source,\n                             bool
      allow_progressive, bool allow_incremental,\n                             bool
      ignore_exif, bool ignore_xmp,\n                             uint32_t image_size_limit,\n
      \                            uint32_t image_dimension_limit,\n                             uint32_t
      image_count_limit,\n                             avifStrictFlags strict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: avif::testutil::AvifImageToUniquePtr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr AvifImageToUniquePtr(avifImage* image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - image_content_to_decode
    argTypes:
    - DecoderPtr
    - avifImageContentTypeFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: avif::testutil::AddGainMapOptionsToDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr AddGainMapOptionsToDecoder(\n    DecoderPtr decoder, avifImageContentTypeFlags
      image_content_to_decode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:181,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 28
    argNames:
    - image
    - gain_map
    - ' gain_map_min_max0'
    - ' gain_map_min_max1'
    - ' gain_map_min_max2'
    - gain_map_gamma_n0
    - gain_map_gamma_n1
    - gain_map_gamma_n2
    - gain_map_gamma_d0
    - gain_map_gamma_d1
    - gain_map_gamma_d2
    - base_offset_n0
    - base_offset_n1
    - base_offset_n2
    - base_offset_d0
    - base_offset_d1
    - base_offset_d2
    - alternate_offset_n0
    - alternate_offset_n1
    - alternate_offset_n2
    - alternate_offset_d0
    - alternate_offset_d1
    - alternate_offset_d2
    - base_hdr_headroom_n
    - base_hdr_headroom_d
    - alternate_hdr_headroom_n
    - alternate_hdr_headroom_d
    - use_base_color_space
    argTypes:
    - ImagePtr
    - ImagePtr
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 213
    functionName: avif::testutil::AddGainMapToImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::release
    - avifGainMapCreate
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr AddGainMapToImage(\n    ImagePtr image, ImagePtr gain_map,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max0,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max1,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max2,\n
      \   uint32_t gain_map_gamma_n0, uint32_t gain_map_gamma_n1,\n    uint32_t gain_map_gamma_n2,
      uint32_t gain_map_gamma_d0,\n    uint32_t gain_map_gamma_d1, uint32_t gain_map_gamma_d2,\n
      \   int32_t base_offset_n0, int32_t base_offset_n1, int32_t base_offset_n2,\n
      \   uint32_t base_offset_d0, uint32_t base_offset_d1, uint32_t base_offset_d2,\n
      \   int32_t alternate_offset_n0, int32_t alternate_offset_n1,\n    int32_t alternate_offset_n2,
      uint32_t alternate_offset_d0,\n    uint32_t alternate_offset_d1, uint32_t alternate_offset_d2,\n
      \   uint32_t base_hdr_headroom_n, uint32_t base_hdr_headroom_d,\n    uint32_t
      alternate_hdr_headroom_n, uint32_t alternate_hdr_headroom_d,\n    bool use_base_color_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: avif::testutil::GetNumSamples
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 6
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: size_t
    signature: "size_t GetNumSamples(size_t num_frames, size_t width, size_t height,\n
      \                    avifPixelFormat pixel_format, bool has_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:244,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: avif::testutil::GetSeedDataDirs
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - std::string
    - std::getenv
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSeedDataDirs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:264,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:265,1
    - Dst: fuzztest::ReadFilesFromDirectory
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:277,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: auto::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:280,1
    - Dst: empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:281,1
    - Dst: avifGuessBufferFileFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:282,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:284,1
    - Dst: std::find
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: begin
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:286,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:294,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:297,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - max_file_size
    - ' image_formats'
    argTypes:
    - size_t
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: avif::testutil::GetTestImagesContents
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - empty
    - size
    - begin
    - std::abort
    - reinterpret_cast<const uint8_t*>
    - std::vector::size
    - avifGuessBufferFileFormat
    - std::vector::empty
    - std::vector::reserve
    - std::move
    - std::find
    - end
    - avif::testutil::GetSeedDataDirs
    - fuzztest::ReadFilesFromDirectory
    - auto::size
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> GetTestImagesContents(\n    size_t max_file_size,
      const std::vector<avifAppFileFormat>& image_formats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:31,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:34,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:42,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:43,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:44,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:45,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:46,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - samples
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - uint8_t*
    assertStmts:
    - condition: "(row_bytes == avifImagePlaneWidth(image.get(), c) *\n                            (avifImageUsesU16(image.get())
        ? 2 : 1))"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: avif::testutil::CreateAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - assert
    - avifImageUsesU16
    - std::copy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - ImagePtr::get
    - avifImagePlane
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage(size_t width, size_t height, int depth,\n
      \                        avifPixelFormat pixel_format, bool has_alpha,\n                         const
      uint8_t* samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:61,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: avif::testutil::CreateAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage8b(size_t width, size_t height,\n                           avifPixelFormat
      pixel_format, bool has_alpha,\n                           const std::vector<uint8_t>&
      samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: avif::testutil::CreateAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - data
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateAvifImage16b(size_t width, size_t height, int depth,\n
      \                           avifPixelFormat pixel_format, bool has_alpha,\n
      \                           const std::vector<uint16_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:78,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:79,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:81,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: avif::testutil::CreateAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim8b(size_t num_frames, size_t width,\n
      \                                      size_t height,\n                                       avifPixelFormat
      pixel_format,\n                                       bool has_alpha,\n                                       const
      std::vector<uint8_t>& samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:95,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:96,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:98,1
    - Dst: avif::testutil::CreateAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:99,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:100,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - num_frames
    - width
    - height
    - depth
    - pixel_format
    - has_alpha
    - ' samples'
    argTypes:
    - size_t
    - size_t
    - size_t
    - int
    - avifPixelFormat
    - bool
    - std::vector<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: avif::testutil::CreateAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - avif::testutil::CreateAvifImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::GetNumSamples
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> CreateAvifAnim16b(size_t num_frames, size_t
      width,\n                                        size_t height, int depth,\n
      \                                       avifPixelFormat pixel_format,\n                                        bool
      has_alpha,\n                                        const std::vector<uint16_t>&
      samples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:113,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:119,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:120,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:122,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - codec_choice
    - max_threads
    - min_quantizer
    - max_quantizer
    - min_quantizer_alpha
    - max_quantizer_alpha
    - tile_rows_log2
    - tile_cols_log2
    - speed
    argTypes:
    - avifCodecChoice
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: avif::testutil::CreateAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::min
    - EncoderPtr::get
    - std::max
    linkageType: ''
    returnType: EncoderPtr
    signature: "EncoderPtr CreateAvifEncoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            int min_quantizer, int max_quantizer,\n                             int
      min_quantizer_alpha, int max_quantizer_alpha,\n                             int
      tile_rows_log2, int tile_cols_log2,\n                             int speed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 11
    argNames:
    - codec_choice
    - max_threads
    - requested_source
    - allow_progressive
    - allow_incremental
    - ignore_exif
    - ignore_xmp
    - image_size_limit
    - image_dimension_limit
    - image_count_limit
    - strict_flags
    argTypes:
    - avifCodecChoice
    - int
    - avifDecoderSource
    - bool
    - bool
    - bool
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - avifStrictFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: avif::testutil::CreateAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - DecoderPtr::get
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr CreateAvifDecoder(avifCodecChoice codec_choice, int max_threads,\n
      \                            avifDecoderSource requested_source,\n                             bool
      allow_progressive, bool allow_incremental,\n                             bool
      ignore_exif, bool ignore_xmp,\n                             uint32_t image_size_limit,\n
      \                            uint32_t image_dimension_limit,\n                             uint32_t
      image_count_limit,\n                             avifStrictFlags strict_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: avif::testutil::AvifImageToUniquePtr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr AvifImageToUniquePtr(avifImage* image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - image_content_to_decode
    argTypes:
    - DecoderPtr
    - avifImageContentTypeFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: avif::testutil::AddGainMapOptionsToDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DecoderPtr
    signature: "DecoderPtr AddGainMapOptionsToDecoder(\n    DecoderPtr decoder, avifImageContentTypeFlags
      image_content_to_decode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:181,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 28
    argNames:
    - image
    - gain_map
    - ' gain_map_min_max0'
    - ' gain_map_min_max1'
    - ' gain_map_min_max2'
    - gain_map_gamma_n0
    - gain_map_gamma_n1
    - gain_map_gamma_n2
    - gain_map_gamma_d0
    - gain_map_gamma_d1
    - gain_map_gamma_d2
    - base_offset_n0
    - base_offset_n1
    - base_offset_n2
    - base_offset_d0
    - base_offset_d1
    - base_offset_d2
    - alternate_offset_n0
    - alternate_offset_n1
    - alternate_offset_n2
    - alternate_offset_d0
    - alternate_offset_d1
    - alternate_offset_d2
    - base_hdr_headroom_n
    - base_hdr_headroom_d
    - alternate_hdr_headroom_n
    - alternate_hdr_headroom_d
    - use_base_color_space
    argTypes:
    - ImagePtr
    - ImagePtr
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 213
    functionName: avif::testutil::AddGainMapToImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::release
    - avifGainMapCreate
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr AddGainMapToImage(\n    ImagePtr image, ImagePtr gain_map,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max0,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max1,\n
      \   const std::pair<avifSignedFraction, avifSignedFraction>& gain_map_min_max2,\n
      \   uint32_t gain_map_gamma_n0, uint32_t gain_map_gamma_n1,\n    uint32_t gain_map_gamma_n2,
      uint32_t gain_map_gamma_d0,\n    uint32_t gain_map_gamma_d1, uint32_t gain_map_gamma_d2,\n
      \   int32_t base_offset_n0, int32_t base_offset_n1, int32_t base_offset_n2,\n
      \   uint32_t base_offset_d0, uint32_t base_offset_d1, uint32_t base_offset_d2,\n
      \   int32_t alternate_offset_n0, int32_t alternate_offset_n1,\n    int32_t alternate_offset_n2,
      uint32_t alternate_offset_d0,\n    uint32_t alternate_offset_d1, uint32_t alternate_offset_d2,\n
      \   uint32_t base_hdr_headroom_n, uint32_t base_hdr_headroom_d,\n    uint32_t
      alternate_hdr_headroom_n, uint32_t alternate_hdr_headroom_d,\n    bool use_base_color_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - num_frames
    - width
    - height
    - pixel_format
    - has_alpha
    argTypes:
    - size_t
    - size_t
    - size_t
    - avifPixelFormat
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: avif::testutil::GetNumSamples
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: size_t
    signature: "size_t GetNumSamples(size_t num_frames, size_t width, size_t height,\n
      \                    avifPixelFormat pixel_format, bool has_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::getenv
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:244,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: avif::testutil::GetSeedDataDirs
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - std::string
    - std::getenv
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSeedDataDirs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:264,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:265,1
    - Dst: fuzztest::ReadFilesFromDirectory
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:277,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: auto::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:278,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:280,1
    - Dst: empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:281,1
    - Dst: avifGuessBufferFileFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:282,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:283,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:284,1
    - Dst: std::find
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: begin
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:285,1
    - Dst: end
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:286,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:291,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:294,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:297,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - max_file_size
    - ' image_formats'
    argTypes:
    - size_t
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: avif::testutil::GetTestImagesContents
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::push_back
    - empty
    - size
    - begin
    - std::abort
    - reinterpret_cast<const uint8_t*>
    - std::vector::size
    - avifGuessBufferFileFormat
    - std::vector::empty
    - std::vector::reserve
    - std::move
    - std::find
    - end
    - avif::testutil::GetSeedDataDirs
    - fuzztest::ReadFilesFromDirectory
    - auto::size
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> GetTestImagesContents(\n    size_t max_file_size,
      const std::vector<avifAppFileFormat>& image_formats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcllitest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:20,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:21,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcllitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - static_cast<uint16_t>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ClliTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcllitest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:20,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:21,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcllitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - static_cast<uint16_t>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ClliTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcllitest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:20,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:21,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcllitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - static_cast<uint16_t>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ClliTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcllitest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:16,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:20,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/avifcllitest.cc:21,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcllitest.cc:23,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifcllitest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcllitest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcllitest.cc:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcllitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - avif::testutil::Decode
    - avif::testutil::FillImageGradient
    - static_cast<uint16_t>
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ClliTest, Simple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifencodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:20,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifencodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, Encode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifencodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:20,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifencodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, Encode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifencodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:20,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifencodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, Encode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifencodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:20,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifencodetest.cc:23,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifencodetest.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifencodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, Encode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifencodetest.cc:39,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifencodetest.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifencodetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:35,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:39,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file_name1
    - file_name2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: avif::AreSamplesEqualForAllReadSettings
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImagesEqual
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: bool
    signature: "bool AreSamplesEqualForAllReadSettings(const char* file_name1,\n                                       const
      char* file_name2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, PaletteColorTypeWithTrnsChunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:82,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsAfterPlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsBeforePlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:106,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:120,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:152,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, SRGBTagged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:183,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, IgnoreProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709Gamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:220,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709SwappedGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifGenerateGrayICC
    - memcmp
    - avifGenerateRGBICC
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, GeneratedICCHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:279,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:280,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' path'
    - format
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - bool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: avif::avifReadImageForRGB2Gray2RGB
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avifReadImage
    - get
    - c_str
    linkageType: ''
    returnType: avifAppFileFormat
    signature: "avifAppFileFormat avifReadImageForRGB2Gray2RGB(const std::string&
      path,\n                                                      avifPixelFormat
      format,\n                                                      bool ignore_icc,\n
      \                                                     ImagePtr& image)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:322,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:327,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:338,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:340,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:343,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 352
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifGenerateGrayICC
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifGenerateRGBICC
    - avifImageSetProfileICC
    - avifJPEGWrite
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - avifColorPrimariesGetValues
    - ImagePtr::get
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, RGB2Gray2RGB)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:360,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:369,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:382,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:383,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifJPEGWrite
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:403,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:412,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:427,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:428,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifAlloc
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayAlphaTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:441,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:445,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:447,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:449,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:450,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:458,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 464
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::numeric_limits<uint32_t>::max
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ImageSizeLimitTest, AllFormats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:35,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:39,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file_name1
    - file_name2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: avif::AreSamplesEqualForAllReadSettings
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 2
    functionsReached:
    - avif::testutil::AreImagesEqual
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: bool
    signature: "bool AreSamplesEqualForAllReadSettings(const char* file_name1,\n                                       const
      char* file_name2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, PaletteColorTypeWithTrnsChunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:82,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsAfterPlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsBeforePlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:106,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:120,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:152,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, SRGBTagged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:183,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, IgnoreProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709Gamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:220,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709SwappedGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifGenerateGrayICC
    - memcmp
    - avifGenerateRGBICC
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, GeneratedICCHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:279,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:280,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' path'
    - format
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - bool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: avif::avifReadImageForRGB2Gray2RGB
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 3
    functionsReached:
    - avifReadImage
    - get
    - c_str
    linkageType: ''
    returnType: avifAppFileFormat
    signature: "avifAppFileFormat avifReadImageForRGB2Gray2RGB(const std::string&
      path,\n                                                      avifPixelFormat
      format,\n                                                      bool ignore_icc,\n
      \                                                     ImagePtr& image)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:322,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:327,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:338,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:340,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:343,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 352
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifGenerateGrayICC
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifGenerateRGBICC
    - avifImageSetProfileICC
    - avifJPEGWrite
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - avifColorPrimariesGetValues
    - ImagePtr::get
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, RGB2Gray2RGB)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:360,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:369,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:382,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:383,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifJPEGWrite
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:403,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:412,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:427,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:428,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifAlloc
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayAlphaTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:441,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:445,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:447,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:449,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:450,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:458,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 464
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::numeric_limits<uint32_t>::max
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ImageSizeLimitTest, AllFormats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:35,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:39,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file_name1
    - file_name2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: avif::AreSamplesEqualForAllReadSettings
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 4
    functionsReached:
    - avif::testutil::AreImagesEqual
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: bool
    signature: "bool AreSamplesEqualForAllReadSettings(const char* file_name1,\n                                       const
      char* file_name2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, PaletteColorTypeWithTrnsChunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:82,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsAfterPlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsBeforePlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:106,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:120,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:152,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, SRGBTagged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:183,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, IgnoreProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709Gamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:220,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709SwappedGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifGenerateGrayICC
    - memcmp
    - avifGenerateRGBICC
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, GeneratedICCHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:279,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:280,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' path'
    - format
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - bool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: avif::avifReadImageForRGB2Gray2RGB
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 6
    functionsReached:
    - avifReadImage
    - get
    - c_str
    linkageType: ''
    returnType: avifAppFileFormat
    signature: "avifAppFileFormat avifReadImageForRGB2Gray2RGB(const std::string&
      path,\n                                                      avifPixelFormat
      format,\n                                                      bool ignore_icc,\n
      \                                                     ImagePtr& image)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:322,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:327,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:338,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:340,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:343,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 352
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifGenerateGrayICC
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifGenerateRGBICC
    - avifImageSetProfileICC
    - avifJPEGWrite
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - avifColorPrimariesGetValues
    - ImagePtr::get
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, RGB2Gray2RGB)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:360,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:369,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:382,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:383,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifJPEGWrite
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:403,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:412,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:427,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:428,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifAlloc
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayAlphaTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:441,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:445,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:447,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:449,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:450,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:458,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 464
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::numeric_limits<uint32_t>::max
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ImageSizeLimitTest, AllFormats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:35,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:39,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file_name1
    - file_name2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: avif::AreSamplesEqualForAllReadSettings
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 6
    functionsReached:
    - avif::testutil::AreImagesEqual
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: bool
    signature: "bool AreSamplesEqualForAllReadSettings(const char* file_name1,\n                                       const
      char* file_name2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    - Dst: avif::AreSamplesEqualForAllReadSettings
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - avif::AreSamplesEqualForAllReadSettings
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ReadAllSubsamplingsAndAllBitDepths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:71,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, PaletteColorTypeWithTrnsChunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:82,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsAfterPlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, RgbColorTypeWithTrnsBeforePlte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:106,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:120,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, ColorGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:152,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, GrayGamma16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, SRGBTagged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:183,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, IgnoreProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:201,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709Gamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:220,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - EXPECT_EQ
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(PngTest, BT709SwappedGamma22)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    - Dst: memcmp
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifGenerateGrayICC
    - memcmp
    - avifGenerateRGBICC
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, GeneratedICCHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:279,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:280,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' path'
    - format
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - bool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: avif::avifReadImageForRGB2Gray2RGB
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 9
    functionsReached:
    - avifReadImage
    - get
    - c_str
    linkageType: ''
    returnType: avifAppFileFormat
    signature: "avifAppFileFormat avifReadImageForRGB2Gray2RGB(const std::string&
      path,\n                                                      avifPixelFormat
      format,\n                                                      bool ignore_icc,\n
      \                                                     ImagePtr& image)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:299,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:300,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:314,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:320,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:322,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:327,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:338,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:340,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:343,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 352
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifGenerateGrayICC
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifGenerateRGBICC
    - avifImageSetProfileICC
    - avifJPEGWrite
    - std::string
    - testing::TempDir
    - ASSERT_NE
    - avifColorPrimariesGetValues
    - ImagePtr::get
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(ICCTest, RGB2Gray2RGB)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:360,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:361,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:366,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:369,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:382,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:383,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:385,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:388,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifJPEGWrite
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:398,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:403,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:404,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:411,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:412,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:420,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:427,1
    - Dst: avif::avifReadImageForRGB2Gray2RGB
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:428,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avif::avifReadImageForRGB2Gray2RGB
    - avifAlloc
    - testing::TempDir
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - ASSERT_TRUE
    - avifPNGWrite
    linkageType: ''
    returnType: void
    signature: void TEST(GrayAlphaTest, Roundtrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:441,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:445,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:447,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:449,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:450,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:458,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 464
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::numeric_limits<uint32_t>::max
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ImageSizeLimitTest, AllFormats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:472,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifreadimagetest.cc:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifreadimagetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:25,1
    - Dst: static_cast<avifRGBFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:52,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - image
    - rgb_depth
    - rgb_format
    - upsampling
    - downsampling
    - avoid_libyuv
    - ignore_alpha
    - alpha_premultiplied
    - is_float
    - max_threads
    argTypes:
    - ImagePtr
    - int
    - int
    - avifChromaUpsampling
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: avif::testutil::Convert
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageRGBToYUV
    - static_cast<avifRGBFormat>
    - avifImageYUVToRGB
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void Convert(ImagePtr image, int rgb_depth, int rgb_format,\n             avifChromaUpsampling
      upsampling,\n             avifChromaDownsampling downsampling, bool avoid_libyuv,\n
      \            bool ignore_alpha, bool alpha_premultiplied, bool is_float,\n             int
      max_threads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:15,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:34,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphanoispetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - EXPECT_EQ
    - avifDecoderParse
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AlphaNoIspe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:15,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:34,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphanoispetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - EXPECT_EQ
    - avifDecoderParse
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AlphaNoIspe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:15,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:34,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphanoispetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - EXPECT_EQ
    - avifDecoderParse
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AlphaNoIspe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:15,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:33,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:34,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphanoispetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - EXPECT_EQ
    - avifDecoderParse
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AlphaNoIspe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:42,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifalphanoispetest.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifalphanoispetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, IrefRepetition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemShared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:55,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:58,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:62,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:70,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemOutOfOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, IrefRepetition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemShared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:55,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:58,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:62,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:70,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemOutOfOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, IrefRepetition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemShared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:55,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:58,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:62,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:70,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemOutOfOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:22,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, IrefRepetition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemShared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:55,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:57,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:58,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:59,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:62,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:70,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(DimgTest, ItemOutOfOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:89,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifdimgtest.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifdimgtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:76,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:79,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - yuv
    - rgbDepth
    - rgbFormat
    argTypes:
    - avifImage*
    - int
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: avif::testutil::AvifRgbImage::AvifRgbImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifRGBImageSetDefaults
    - avifRGBImageAllocatePixels
    - std::abort
    linkageType: ''
    returnType: void
    signature: "void AvifRgbImage::AvifRgbImage(const avifImage* yuv, int rgbDepth,\n
      \                          avifRGBFormat rgbFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AvifRwData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData::AvifRwData(AvifRwData&& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: avif::testutil::GetRgbChannelOffsets
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RgbChannelOffsets
    signature: RgbChannelOffsets GetRgbChannelOffsets(avifRGBFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - yuv_format
    - planes
    - yuv_range
    argTypes:
    - int
    - int
    - int
    - avifPixelFormat
    - avifPlanesFlags
    - avifRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: avif::testutil::CreateImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - ImagePtr::get
    - avifImageAllocatePlanes
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateImage(int width, int height, int depth,\n                     avifPixelFormat
      yuv_format, avifPlanesFlags planes,\n                     avifRange yuv_range)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:131,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:133,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:134,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:135,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:137,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:139,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:140,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - image
    - yuva
    argTypes:
    - avifImage*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: avif::testutil::FillImagePlain
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::fill
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImagePlain(avifImage* image, const uint32_t yuva[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:157,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:159,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:160,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:161,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:168,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:172,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:174,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - image
    - offset
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: avif::testutil::FillImageGradient
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - std::max
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImageGradient(avifImage* image, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:205,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 9
    functionsReached:
    - avif::testutil::FillImageChannel
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data1
    - data1_length
    - data2
    - data2_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: "bool AreByteSequencesEqual(const uint8_t data1[], size_t data1_length,\n
      \                          const uint8_t data2[], size_t data2_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data1'
    - ' data2'
    argTypes:
    - avifRWData
    - avifRWData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: bool AreByteSequencesEqual(const avifRWData& data1, const avifRWData&
      data2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:343,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:350,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:351,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:355,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:356,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:357,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:359,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:361,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:363,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:364,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:368,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 25
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - std::equal
    - avifImagePlaneHeight
    - avif::testutil::AreImagesEqual
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesEqual(const avifImage& image1, const avifImage& image2,\n
      \                   bool ignore_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:387,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:391,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ' image1'
    - ' image2'
    - min_psnr
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: avif::testutil::AreImagesSimilar
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesSimilar(const avifImage& image1, const avifImage& image2,\n
      \                     double min_psnr, bool ignore_alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:425,1
    - Dst: fprintf
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:431,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:450,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:452,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:455,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:456,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:460,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:461,1
    - Dst: std::vector::resize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:467,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:470,1
    - Dst: static_cast<int16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:472,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:478,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:481,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:487,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:488,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:489,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:490,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:492,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:505,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:506,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 510
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 510
    functionName: avif::testutil::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 17
    functionsReached:
    - std::vector::resize
    - fprintf
    - std::numeric_limits<double>::epsilon
    - avifImagePlaneHeight
    - assert
    - std::log10
    - avifImagePlaneRowBytes
    - avifImageUsesU16
    - static_cast<double>
    - std::vector::data
    - reinterpret_cast<uint16_t*>
    - static_cast<int16_t>
    - std::vector::begin
    - std::vector::end
    - avifImagePlane
    - std::max
    - std::fill
    - avif::testutil::SquaredDiffSum
    - reinterpret_cast<const uint16_t*>
    - std::min
    - avifImagePlaneWidth
    linkageType: ''
    returnType: double
    signature: "double GetPsnr(const avifImage& image1, const avifImage& image2,\n
      \              bool ignore_alpha)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:521,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifRGBImage
    - avifRGBImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 25
    functionsReached:
    - std::equal
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: bool
    signature: bool AreImagesEqual(const avifRGBImage& image1, const avifRGBImage&
      image2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:534,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:535,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:536,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<ImagePtr>
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 5
    functionsReached:
    - avif::testutil::MergeGrid
    - size
    - get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<ImagePtr>& cells, avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:547,1
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:549,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:552,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avif::testutil::CopyImageSamples
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<const avifImage*>
    - avifImage*
    assertStmts:
    - condition: (!view->imageOwnsYUVPlanes)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 5
    functionsReached:
    - AVIF_CHECKRES
    - avif::testutil::CopyImageSamples
    - avifImageSetViewRect
    - back
    - assert
    - AVIF_CHECKERR
    - ImagePtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<const avifImage*>& cells,\n                     avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::good
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::tellg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::seekg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:585,1
    - Dst: std::ifstream::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: static_cast<std::streamsize>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' file_path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: avif::testutil::ReadFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifRWDataRealloc
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    - std::ifstream::good
    - std::ifstream::seekg
    - static_cast<size_t>
    - std::ifstream::tellg
    - std::ifstream::read
    linkageType: ''
    returnType: testutil::AvifRwData
    signature: testutil::AvifRwData ReadFile(const std::string& file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - folder_path
    - file_name
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_icc
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    argTypes:
    - char*
    - char*
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: avif::testutil::ReadImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 52
    functionsReached:
    - c_str
    - ImagePtr::get
    - avifReadImage
    - std::string
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImage(const char* folder_path, const char* file_name,\n
      \                  avifPixelFormat requested_format, int requested_depth,\n
      \                  avifChromaDownsampling chroma_downsampling,\n                   avifBool
      ignore_icc, avifBool ignore_exif,\n                   avifBool ignore_xmp, avifBool
      ignore_gain_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:614,1
    - Dst: std::strncmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:615,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - image
    - file_path
    argTypes:
    - avifImage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: avif::testutil::WriteImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - std::strlen
    - std::strncmp
    - avifPNGWrite
    linkageType: ''
    returnType: bool
    signature: bool WriteImage(const avifImage* image, const char* file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - image
    - speed
    - quality
    argTypes:
    - avifImage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: avif::testutil::Encode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - EncoderPtr::get
    - avifEncoderWrite
    linkageType: ''
    returnType: AvifRwData
    signature: AvifRwData Encode(const avifImage* image, int speed, int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - num_bytes
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - ImagePtr::get
    - avifDecoderReadMemory
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr Decode(const uint8_t* bytes, size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: avif::testutil::DecodeFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifDecoderReadFile
    - c_str
    - ImagePtr::get
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr DecodeFile(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:662,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: avif::testutil::Av1EncoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1EncoderAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:668,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: avif::testutil::Av1DecoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1DecoderAvailable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:677,1
    - Dst: auto::underlyingIO::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 688
    functionName: avif::testutil::avifIOLimitedReaderRead
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::read
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifIOLimitedReaderRead(avifIO* io, uint32_t readFlags,\n
      \                                         uint64_t offset, size_t size,\n                                          avifROData*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:691,1
    - Dst: auto::underlyingIO::destroy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: avif::testutil::avifIOLimitedReaderDestroy
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::destroy
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: void
    signature: void avifIOLimitedReaderDestroy(avifIO* io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<avifIO*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:697,1
    - Dst: AvifIOLimitedReader::AvifIOLimitedReader
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - underlyingIO
    - clamp
    argTypes:
    - avifIO*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: avif::testutil::AvifIOCreateLimitedReader
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<avifIO*>
    - AvifIOLimitedReader::AvifIOLimitedReader
    linkageType: ''
    returnType: avifIO
    signature: avifIO * AvifIOCreateLimitedReader(avifIO* underlyingIO, uint64_t clamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:735,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:736,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - image
    - grid_cols
    - grid_rows
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (rect.x < image->width)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (rect.y < image->height)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 753
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 753
    functionName: avif::testutil::ImageToGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - avifImageSetViewRect
    - assert
    - std::vector::back
    - avifImageCreateEmpty
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> ImageToGrid(const avifImage* image, uint32_t
      grid_cols,\n                                  uint32_t grid_rows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' unique_ptrs'
    argTypes:
    - std::vector<ImagePtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: avif::testutil::UniquePtrToRawPtr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - get
    - size
    linkageType: ''
    returnType: std::vector<const avifImage*>
    signature: "std::vector<const avifImage*> UniquePtrToRawPtr(\n    const std::vector<ImagePtr>&
      unique_ptrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:76,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:79,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - yuv
    - rgbDepth
    - rgbFormat
    argTypes:
    - avifImage*
    - int
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: avif::testutil::AvifRgbImage::AvifRgbImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifRGBImageSetDefaults
    - avifRGBImageAllocatePixels
    - std::abort
    linkageType: ''
    returnType: void
    signature: "void AvifRgbImage::AvifRgbImage(const avifImage* yuv, int rgbDepth,\n
      \                          avifRGBFormat rgbFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AvifRwData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData::AvifRwData(AvifRwData&& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: avif::testutil::GetRgbChannelOffsets
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RgbChannelOffsets
    signature: RgbChannelOffsets GetRgbChannelOffsets(avifRGBFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - yuv_format
    - planes
    - yuv_range
    argTypes:
    - int
    - int
    - int
    - avifPixelFormat
    - avifPlanesFlags
    - avifRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: avif::testutil::CreateImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - ImagePtr::get
    - avifImageAllocatePlanes
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateImage(int width, int height, int depth,\n                     avifPixelFormat
      yuv_format, avifPlanesFlags planes,\n                     avifRange yuv_range)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:131,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:133,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:134,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:135,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:137,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:139,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:140,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - image
    - yuva
    argTypes:
    - avifImage*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: avif::testutil::FillImagePlain
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::fill
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImagePlain(avifImage* image, const uint32_t yuva[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:157,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:159,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:160,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:161,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:168,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:172,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:174,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - image
    - offset
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: avif::testutil::FillImageGradient
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - std::max
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImageGradient(avifImage* image, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 9
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 9
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:205,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 10
    functionsReached:
    - avif::testutil::FillImageChannel
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data1
    - data1_length
    - data2
    - data2_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 5
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: "bool AreByteSequencesEqual(const uint8_t data1[], size_t data1_length,\n
      \                          const uint8_t data2[], size_t data2_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data1'
    - ' data2'
    argTypes:
    - avifRWData
    - avifRWData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: bool AreByteSequencesEqual(const avifRWData& data1, const avifRWData&
      data2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:343,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:350,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:351,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:355,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:356,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:357,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:359,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:361,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:363,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:364,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:368,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 26
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - std::equal
    - avifImagePlaneHeight
    - avif::testutil::AreImagesEqual
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesEqual(const avifImage& image1, const avifImage& image2,\n
      \                   bool ignore_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:387,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:391,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ' image1'
    - ' image2'
    - min_psnr
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: avif::testutil::AreImagesSimilar
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesSimilar(const avifImage& image1, const avifImage& image2,\n
      \                     double min_psnr, bool ignore_alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:425,1
    - Dst: fprintf
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:431,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:450,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:452,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:455,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:456,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:460,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:461,1
    - Dst: std::vector::resize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:467,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:470,1
    - Dst: static_cast<int16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:472,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:478,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:481,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:487,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:488,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:489,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:490,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:492,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:505,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:506,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 510
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 510
    functionName: avif::testutil::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 18
    functionsReached:
    - std::vector::resize
    - fprintf
    - std::numeric_limits<double>::epsilon
    - avifImagePlaneHeight
    - assert
    - std::log10
    - avifImagePlaneRowBytes
    - avifImageUsesU16
    - static_cast<double>
    - std::vector::data
    - reinterpret_cast<uint16_t*>
    - static_cast<int16_t>
    - std::vector::begin
    - std::vector::end
    - avifImagePlane
    - std::max
    - std::fill
    - avif::testutil::SquaredDiffSum
    - reinterpret_cast<const uint16_t*>
    - std::min
    - avifImagePlaneWidth
    linkageType: ''
    returnType: double
    signature: "double GetPsnr(const avifImage& image1, const avifImage& image2,\n
      \              bool ignore_alpha)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:521,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifRGBImage
    - avifRGBImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 26
    functionsReached:
    - std::equal
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: bool
    signature: bool AreImagesEqual(const avifRGBImage& image1, const avifRGBImage&
      image2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:534,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:535,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:536,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<ImagePtr>
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - avif::testutil::MergeGrid
    - size
    - get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<ImagePtr>& cells, avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:547,1
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:549,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:552,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avif::testutil::CopyImageSamples
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<const avifImage*>
    - avifImage*
    assertStmts:
    - condition: (!view->imageOwnsYUVPlanes)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - AVIF_CHECKRES
    - avif::testutil::CopyImageSamples
    - avifImageSetViewRect
    - back
    - assert
    - AVIF_CHECKERR
    - ImagePtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<const avifImage*>& cells,\n                     avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::good
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::tellg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::seekg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:585,1
    - Dst: std::ifstream::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: static_cast<std::streamsize>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' file_path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: avif::testutil::ReadFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifRWDataRealloc
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    - std::ifstream::good
    - std::ifstream::seekg
    - static_cast<size_t>
    - std::ifstream::tellg
    - std::ifstream::read
    linkageType: ''
    returnType: testutil::AvifRwData
    signature: testutil::AvifRwData ReadFile(const std::string& file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - folder_path
    - file_name
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_icc
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    argTypes:
    - char*
    - char*
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: avif::testutil::ReadImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 52
    functionsReached:
    - c_str
    - ImagePtr::get
    - avifReadImage
    - std::string
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImage(const char* folder_path, const char* file_name,\n
      \                  avifPixelFormat requested_format, int requested_depth,\n
      \                  avifChromaDownsampling chroma_downsampling,\n                   avifBool
      ignore_icc, avifBool ignore_exif,\n                   avifBool ignore_xmp, avifBool
      ignore_gain_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:614,1
    - Dst: std::strncmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:615,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - image
    - file_path
    argTypes:
    - avifImage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: avif::testutil::WriteImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - std::strlen
    - std::strncmp
    - avifPNGWrite
    linkageType: ''
    returnType: bool
    signature: bool WriteImage(const avifImage* image, const char* file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - image
    - speed
    - quality
    argTypes:
    - avifImage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: avif::testutil::Encode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - EncoderPtr::get
    - avifEncoderWrite
    linkageType: ''
    returnType: AvifRwData
    signature: AvifRwData Encode(const avifImage* image, int speed, int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - num_bytes
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - ImagePtr::get
    - avifDecoderReadMemory
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr Decode(const uint8_t* bytes, size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: avif::testutil::DecodeFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifDecoderReadFile
    - c_str
    - ImagePtr::get
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr DecodeFile(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:662,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: avif::testutil::Av1EncoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1EncoderAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:668,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: avif::testutil::Av1DecoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1DecoderAvailable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:677,1
    - Dst: auto::underlyingIO::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 688
    functionName: avif::testutil::avifIOLimitedReaderRead
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::read
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifIOLimitedReaderRead(avifIO* io, uint32_t readFlags,\n
      \                                         uint64_t offset, size_t size,\n                                          avifROData*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:691,1
    - Dst: auto::underlyingIO::destroy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: avif::testutil::avifIOLimitedReaderDestroy
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::destroy
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: void
    signature: void avifIOLimitedReaderDestroy(avifIO* io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<avifIO*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:697,1
    - Dst: AvifIOLimitedReader::AvifIOLimitedReader
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - underlyingIO
    - clamp
    argTypes:
    - avifIO*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: avif::testutil::AvifIOCreateLimitedReader
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<avifIO*>
    - AvifIOLimitedReader::AvifIOLimitedReader
    linkageType: ''
    returnType: avifIO
    signature: avifIO * AvifIOCreateLimitedReader(avifIO* underlyingIO, uint64_t clamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:735,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:736,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - image
    - grid_cols
    - grid_rows
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (rect.x < image->width)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (rect.y < image->height)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 753
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 753
    functionName: avif::testutil::ImageToGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - avifImageSetViewRect
    - assert
    - std::vector::back
    - avifImageCreateEmpty
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> ImageToGrid(const avifImage* image, uint32_t
      grid_cols,\n                                  uint32_t grid_rows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' unique_ptrs'
    argTypes:
    - std::vector<ImagePtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: avif::testutil::UniquePtrToRawPtr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - get
    - size
    linkageType: ''
    returnType: std::vector<const avifImage*>
    signature: "std::vector<const avifImage*> UniquePtrToRawPtr(\n    const std::vector<ImagePtr>&
      unique_ptrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:76,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:79,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - yuv
    - rgbDepth
    - rgbFormat
    argTypes:
    - avifImage*
    - int
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: avif::testutil::AvifRgbImage::AvifRgbImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifRGBImageSetDefaults
    - avifRGBImageAllocatePixels
    - std::abort
    linkageType: ''
    returnType: void
    signature: "void AvifRgbImage::AvifRgbImage(const avifImage* yuv, int rgbDepth,\n
      \                          avifRGBFormat rgbFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AvifRwData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData::AvifRwData(AvifRwData&& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: avif::testutil::GetRgbChannelOffsets
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RgbChannelOffsets
    signature: RgbChannelOffsets GetRgbChannelOffsets(avifRGBFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - yuv_format
    - planes
    - yuv_range
    argTypes:
    - int
    - int
    - int
    - avifPixelFormat
    - avifPlanesFlags
    - avifRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: avif::testutil::CreateImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - ImagePtr::get
    - avifImageAllocatePlanes
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateImage(int width, int height, int depth,\n                     avifPixelFormat
      yuv_format, avifPlanesFlags planes,\n                     avifRange yuv_range)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:131,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:133,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:134,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:135,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:137,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:139,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:140,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - image
    - yuva
    argTypes:
    - avifImage*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: avif::testutil::FillImagePlain
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::fill
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImagePlain(avifImage* image, const uint32_t yuva[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:157,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:159,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:160,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:161,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:168,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:172,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:174,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - image
    - offset
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: avif::testutil::FillImageGradient
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - std::max
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImageGradient(avifImage* image, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 10
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 10
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:205,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 11
    functionsReached:
    - avif::testutil::FillImageChannel
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data1
    - data1_length
    - data2
    - data2_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 10
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: "bool AreByteSequencesEqual(const uint8_t data1[], size_t data1_length,\n
      \                          const uint8_t data2[], size_t data2_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data1'
    - ' data2'
    argTypes:
    - avifRWData
    - avifRWData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 11
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: bool AreByteSequencesEqual(const avifRWData& data1, const avifRWData&
      data2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:343,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:350,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:351,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:355,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:356,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:357,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:359,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:361,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:363,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:364,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:368,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 27
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - std::equal
    - avifImagePlaneHeight
    - avif::testutil::AreImagesEqual
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesEqual(const avifImage& image1, const avifImage& image2,\n
      \                   bool ignore_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:387,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:391,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ' image1'
    - ' image2'
    - min_psnr
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: avif::testutil::AreImagesSimilar
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesSimilar(const avifImage& image1, const avifImage& image2,\n
      \                     double min_psnr, bool ignore_alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:425,1
    - Dst: fprintf
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:431,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:450,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:452,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:455,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:456,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:460,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:461,1
    - Dst: std::vector::resize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:467,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:470,1
    - Dst: static_cast<int16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:472,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:478,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:481,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:487,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:488,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:489,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:490,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:492,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:505,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:506,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 510
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 510
    functionName: avif::testutil::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 19
    functionsReached:
    - std::vector::resize
    - fprintf
    - std::numeric_limits<double>::epsilon
    - avifImagePlaneHeight
    - assert
    - std::log10
    - avifImagePlaneRowBytes
    - avifImageUsesU16
    - static_cast<double>
    - std::vector::data
    - reinterpret_cast<uint16_t*>
    - static_cast<int16_t>
    - std::vector::begin
    - std::vector::end
    - avifImagePlane
    - std::max
    - std::fill
    - avif::testutil::SquaredDiffSum
    - reinterpret_cast<const uint16_t*>
    - std::min
    - avifImagePlaneWidth
    linkageType: ''
    returnType: double
    signature: "double GetPsnr(const avifImage& image1, const avifImage& image2,\n
      \              bool ignore_alpha)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:521,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifRGBImage
    - avifRGBImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 27
    functionsReached:
    - std::equal
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: bool
    signature: bool AreImagesEqual(const avifRGBImage& image1, const avifRGBImage&
      image2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:534,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:535,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:536,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<ImagePtr>
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 7
    functionsReached:
    - avif::testutil::MergeGrid
    - size
    - get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<ImagePtr>& cells, avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:547,1
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:549,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:552,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avif::testutil::CopyImageSamples
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<const avifImage*>
    - avifImage*
    assertStmts:
    - condition: (!view->imageOwnsYUVPlanes)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 7
    functionsReached:
    - AVIF_CHECKRES
    - avif::testutil::CopyImageSamples
    - avifImageSetViewRect
    - back
    - assert
    - AVIF_CHECKERR
    - ImagePtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<const avifImage*>& cells,\n                     avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::good
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::tellg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::seekg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:585,1
    - Dst: std::ifstream::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: static_cast<std::streamsize>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' file_path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: avif::testutil::ReadFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifRWDataRealloc
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    - std::ifstream::good
    - std::ifstream::seekg
    - static_cast<size_t>
    - std::ifstream::tellg
    - std::ifstream::read
    linkageType: ''
    returnType: testutil::AvifRwData
    signature: testutil::AvifRwData ReadFile(const std::string& file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - folder_path
    - file_name
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_icc
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    argTypes:
    - char*
    - char*
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: avif::testutil::ReadImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 52
    functionsReached:
    - c_str
    - ImagePtr::get
    - avifReadImage
    - std::string
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImage(const char* folder_path, const char* file_name,\n
      \                  avifPixelFormat requested_format, int requested_depth,\n
      \                  avifChromaDownsampling chroma_downsampling,\n                   avifBool
      ignore_icc, avifBool ignore_exif,\n                   avifBool ignore_xmp, avifBool
      ignore_gain_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:614,1
    - Dst: std::strncmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:615,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - image
    - file_path
    argTypes:
    - avifImage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: avif::testutil::WriteImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - std::strlen
    - std::strncmp
    - avifPNGWrite
    linkageType: ''
    returnType: bool
    signature: bool WriteImage(const avifImage* image, const char* file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - image
    - speed
    - quality
    argTypes:
    - avifImage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: avif::testutil::Encode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - EncoderPtr::get
    - avifEncoderWrite
    linkageType: ''
    returnType: AvifRwData
    signature: AvifRwData Encode(const avifImage* image, int speed, int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - num_bytes
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - ImagePtr::get
    - avifDecoderReadMemory
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr Decode(const uint8_t* bytes, size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: avif::testutil::DecodeFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifDecoderReadFile
    - c_str
    - ImagePtr::get
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr DecodeFile(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:662,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: avif::testutil::Av1EncoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1EncoderAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:668,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: avif::testutil::Av1DecoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1DecoderAvailable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:677,1
    - Dst: auto::underlyingIO::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 688
    functionName: avif::testutil::avifIOLimitedReaderRead
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::read
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifIOLimitedReaderRead(avifIO* io, uint32_t readFlags,\n
      \                                         uint64_t offset, size_t size,\n                                          avifROData*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:691,1
    - Dst: auto::underlyingIO::destroy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: avif::testutil::avifIOLimitedReaderDestroy
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::destroy
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: void
    signature: void avifIOLimitedReaderDestroy(avifIO* io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<avifIO*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:697,1
    - Dst: AvifIOLimitedReader::AvifIOLimitedReader
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - underlyingIO
    - clamp
    argTypes:
    - avifIO*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: avif::testutil::AvifIOCreateLimitedReader
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<avifIO*>
    - AvifIOLimitedReader::AvifIOLimitedReader
    linkageType: ''
    returnType: avifIO
    signature: avifIO * AvifIOCreateLimitedReader(avifIO* underlyingIO, uint64_t clamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:735,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:736,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - image
    - grid_cols
    - grid_rows
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (rect.x < image->width)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (rect.y < image->height)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 753
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 753
    functionName: avif::testutil::ImageToGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - avifImageSetViewRect
    - assert
    - std::vector::back
    - avifImageCreateEmpty
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> ImageToGrid(const avifImage* image, uint32_t
      grid_cols,\n                                  uint32_t grid_rows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' unique_ptrs'
    argTypes:
    - std::vector<ImagePtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: avif::testutil::UniquePtrToRawPtr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - get
    - size
    linkageType: ''
    returnType: std::vector<const avifImage*>
    signature: "std::vector<const avifImage*> UniquePtrToRawPtr(\n    const std::vector<ImagePtr>&
      unique_ptrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 3
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:32,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:34,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:39,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:49,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:50,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:51,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:52,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:53,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:54,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:55,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:59,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:60,1
    - Dst: memcpy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: avif::testutil::CopyImageSamples
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 3
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void CopyImageSamples(avifImage* dstImage, const avifImage* srcImage,\n
      \                     avifPlanesFlags planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:76,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:79,1
    - Dst: std::abort
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - yuv
    - rgbDepth
    - rgbFormat
    argTypes:
    - avifImage*
    - int
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: avif::testutil::AvifRgbImage::AvifRgbImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifRGBImageSetDefaults
    - avifRGBImageAllocatePixels
    - std::abort
    linkageType: ''
    returnType: void
    signature: "void AvifRgbImage::AvifRgbImage(const avifImage* yuv, int rgbDepth,\n
      \                          avifRGBFormat rgbFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AvifRwData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: avif::testutil::AvifRwData::AvifRwData
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifRwData::AvifRwData(AvifRwData&& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: avif::testutil::GetRgbChannelOffsets
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RgbChannelOffsets
    signature: RgbChannelOffsets GetRgbChannelOffsets(avifRGBFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - width
    - height
    - depth
    - yuv_format
    - planes
    - yuv_range
    argTypes:
    - int
    - int
    - int
    - avifPixelFormat
    - avifPlanesFlags
    - avifRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: avif::testutil::CreateImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - ImagePtr::get
    - avifImageAllocatePlanes
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr CreateImage(int width, int height, int depth,\n                     avifPixelFormat
      yuv_format, avifPlanesFlags planes,\n                     avifRange yuv_range)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:131,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:133,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:134,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:135,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:137,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:138,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:139,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:140,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - image
    - yuva
    argTypes:
    - avifImage*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: avif::testutil::FillImagePlain
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::fill
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImagePlain(avifImage* image, const uint32_t yuva[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:157,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:159,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:160,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:161,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:168,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:172,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:174,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:175,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - image
    - offset
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: avif::testutil::FillImageGradient
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 32
    functionsReached:
    - std::max
    - avifImagePlaneHeight
    - static_cast<uint16_t>
    - avifImageUsesU16
    - avifImagePlaneWidth
    - static_cast<uint8_t>
    - avifImagePlaneRowBytes
    - reinterpret_cast<uint16_t*>
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void FillImageGradient(avifImage* image, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 11
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:189,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:190,1
    - Dst: reinterpret_cast<PixelType*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:193,1
    - Dst: static_cast<PixelType>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (channel_offset < channel_count)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 11
    functionsReached:
    - avifRGBFormatChannelCount
    - reinterpret_cast<PixelType*>
    - static_cast<PixelType>
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:205,1
    - Dst: avif::testutil::FillImageChannel
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - channel_offset
    - value
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: avif::testutil::FillImageChannel
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 12
    functionsReached:
    - avif::testutil::FillImageChannel
    linkageType: ''
    returnType: void
    signature: "void FillImageChannel(avifRGBImage* image, uint32_t channel_offset,\n
      \                     uint32_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data1
    - data1_length
    - data2
    - data2_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 15
    functionsReached:
    - std::equal
    linkageType: ''
    returnType: bool
    signature: "bool AreByteSequencesEqual(const uint8_t data1[], size_t data1_length,\n
      \                          const uint8_t data2[], size_t data2_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data1'
    - ' data2'
    argTypes:
    - avifRWData
    - avifRWData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: avif::testutil::AreByteSequencesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 16
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: bool AreByteSequencesEqual(const avifRWData& data1, const avifRWData&
      data2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:232,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:233,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:240,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:245,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:246,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:247,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifImage
    - avifImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::AreByteSequencesEqual
    linkageType: ''
    returnType: bool
    signature: "bool MatchEachPropertyOfFirstImageInSecondImage(const avifImage& image1,\n
      \                                               const avifImage& image2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:271,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:276,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:277,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:281,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:282,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:289,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:295,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:309,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:311,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:313,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:315,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:319,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:320,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:322,1
    - Dst: avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:323,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:329,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 45
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 337
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 337
    functionName: avif::testutil::AreImageFeaturesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 6
    functionsReached:
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifSameGainMapMetadata
    - avif::testutil::AreByteSequencesEqual
    - assert
    - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImageFeaturesEqual(const avifImage& image1, const avifImage&
      image2,\n                           bool ignore_alpha)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:343,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:350,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:351,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:355,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:356,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:357,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:359,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:361,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:362,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:363,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:364,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:368,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:379,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 28
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - std::equal
    - avifImagePlaneHeight
    - avif::testutil::AreImagesEqual
    - avifImageUsesU16
    - reinterpret_cast<const uint16_t*>
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesEqual(const avifImage& image1, const avifImage& image2,\n
      \                   bool ignore_alpha)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::AreImageFeaturesEqual
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:387,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:391,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ' image1'
    - ' image2'
    - min_psnr
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: avif::testutil::AreImagesSimilar
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImageFeaturesEqual
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: bool
    signature: "bool AreImagesSimilar(const avifImage& image1, const avifImage& image2,\n
      \                     double min_psnr, bool ignore_alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - samples1
    - samples2
    - num_samples
    argTypes:
    - Sample*
    - Sample*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avif::testutil::SquaredDiffSum
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t SquaredDiffSum(const Sample* samples1, const Sample* samples2,\n
      \                       uint32_t num_samples)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:425,1
    - Dst: fprintf
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:431,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:449,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:450,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:451,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:452,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:455,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:456,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:460,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:461,1
    - Dst: std::vector::resize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:466,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:467,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:469,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:470,1
    - Dst: static_cast<int16_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:472,1
    - Dst: std::fill
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::begin
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::end
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:474,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:478,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:481,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:487,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:488,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:489,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:490,1
    - Dst: avif::testutil::SquaredDiffSum
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:492,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:505,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:506,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    - Dst: std::log10
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:509,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - ignore_alpha
    argTypes:
    - avifImage
    - avifImage
    - bool
    assertStmts:
    - condition: (image1.width * image1.height > 0)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 510
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 510
    functionName: avif::testutil::GetPsnr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 20
    functionsReached:
    - std::vector::resize
    - fprintf
    - std::numeric_limits<double>::epsilon
    - avifImagePlaneHeight
    - assert
    - std::log10
    - avifImagePlaneRowBytes
    - avifImageUsesU16
    - static_cast<double>
    - std::vector::data
    - reinterpret_cast<uint16_t*>
    - static_cast<int16_t>
    - std::vector::begin
    - std::vector::end
    - avifImagePlane
    - std::max
    - std::fill
    - avif::testutil::SquaredDiffSum
    - reinterpret_cast<const uint16_t*>
    - std::min
    - avifImagePlaneWidth
    linkageType: ''
    returnType: double
    signature: "double GetPsnr(const avifImage& image1, const avifImage& image2,\n
      \              bool ignore_alpha)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:521,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' image1'
    - ' image2'
    argTypes:
    - avifRGBImage
    - avifRGBImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: avif::testutil::AreImagesEqual
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 28
    functionsReached:
    - std::equal
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: bool
    signature: bool AreImagesEqual(const avifRGBImage& image1, const avifRGBImage&
      image2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:534,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:535,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:536,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<ImagePtr>
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avif::testutil::MergeGrid
    - size
    - get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<ImagePtr>& cells, avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:547,1
    - Dst: back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:549,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:552,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:561,1
    - Dst: avif::testutil::CopyImageSamples
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:562,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - grid_cols
    - grid_rows
    - ' cells'
    - merged
    argTypes:
    - int
    - int
    - std::vector<const avifImage*>
    - avifImage*
    assertStmts:
    - condition: (!view->imageOwnsYUVPlanes)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: avif::testutil::MergeGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - avif::testutil::CopyImageSamples
    - avifImageSetViewRect
    - back
    - assert
    - AVIF_CHECKERR
    - ImagePtr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult MergeGrid(int grid_cols, int grid_rows,\n                     const
      std::vector<const avifImage*>& cells,\n                     avifImage* merged)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::good
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::tellg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:581,1
    - Dst: std::ifstream::seekg
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:585,1
    - Dst: std::ifstream::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:586,1
    - Dst: static_cast<std::streamsize>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' file_path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: avif::testutil::ReadFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 12
    functionsReached:
    - avifRWDataRealloc
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    - std::ifstream::good
    - std::ifstream::seekg
    - static_cast<size_t>
    - std::ifstream::tellg
    - std::ifstream::read
    linkageType: ''
    returnType: testutil::AvifRwData
    signature: testutil::AvifRwData ReadFile(const std::string& file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:600,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - folder_path
    - file_name
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_icc
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    argTypes:
    - char*
    - char*
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: avif::testutil::ReadImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 52
    functionsReached:
    - c_str
    - ImagePtr::get
    - avifReadImage
    - std::string
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr ReadImage(const char* folder_path, const char* file_name,\n
      \                  avifPixelFormat requested_format, int requested_depth,\n
      \                  avifChromaDownsampling chroma_downsampling,\n                   avifBool
      ignore_icc, avifBool ignore_exif,\n                   avifBool ignore_xmp, avifBool
      ignore_gain_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:614,1
    - Dst: std::strncmp
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:615,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - image
    - file_path
    argTypes:
    - avifImage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: avif::testutil::WriteImage
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - std::strlen
    - std::strncmp
    - avifPNGWrite
    linkageType: ''
    returnType: bool
    signature: bool WriteImage(const avifImage* image, const char* file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - image
    - speed
    - quality
    argTypes:
    - avifImage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: avif::testutil::Encode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - EncoderPtr::get
    - avifEncoderWrite
    linkageType: ''
    returnType: AvifRwData
    signature: AvifRwData Encode(const avifImage* image, int speed, int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - num_bytes
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - ImagePtr::get
    - avifDecoderReadMemory
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr Decode(const uint8_t* bytes, size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: avif::testutil::DecodeFile
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - avifDecoderReadFile
    - c_str
    - ImagePtr::get
    - DecoderPtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr DecodeFile(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:662,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: avif::testutil::Av1EncoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 4
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1EncoderAvailable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:668,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: avif::testutil::Av1DecoderAvailable
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 8
    functionsReached:
    - avifCodecName
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Av1DecoderAvailable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:677,1
    - Dst: auto::underlyingIO::read
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 688
    functionName: avif::testutil::avifIOLimitedReaderRead
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::read
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifIOLimitedReaderRead(avifIO* io, uint32_t readFlags,\n
      \                                         uint64_t offset, size_t size,\n                                          avifROData*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:691,1
    - Dst: auto::underlyingIO::destroy
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: avif::testutil::avifIOLimitedReaderDestroy
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - auto::underlyingIO::destroy
    - reinterpret_cast<AvifIOLimitedReader*>
    linkageType: ''
    returnType: void
    signature: void avifIOLimitedReaderDestroy(avifIO* io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<avifIO*>
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:697,1
    - Dst: AvifIOLimitedReader::AvifIOLimitedReader
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - underlyingIO
    - clamp
    argTypes:
    - avifIO*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: avif::testutil::AvifIOCreateLimitedReader
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<avifIO*>
    - AvifIOLimitedReader::AvifIOLimitedReader
    linkageType: ''
    returnType: avifIO
    signature: avifIO * AvifIOCreateLimitedReader(avifIO* underlyingIO, uint64_t clamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:735,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:736,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:745,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - image
    - grid_cols
    - grid_rows
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (rect.x < image->width)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    - condition: (rect.y < image->height)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
    constantsTouched: []
    func_position:
      end: 753
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 753
    functionName: avif::testutil::ImageToGrid
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - avifImageSetViewRect
    - assert
    - std::vector::back
    - avifImageCreateEmpty
    linkageType: ''
    returnType: std::vector<ImagePtr>
    signature: "std::vector<ImagePtr> ImageToGrid(const avifImage* image, uint32_t
      grid_cols,\n                                  uint32_t grid_rows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:758,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviftest_helpers.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' unique_ptrs'
    argTypes:
    - std::vector<ImagePtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: avif::testutil::UniquePtrToRawPtr
    functionSourceFile: /src/libavif/tests/gtest/aviftest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - get
    - size
    linkageType: ''
    returnType: std::vector<const avifImage*>
    signature: "std::vector<const avifImage*> UniquePtrToRawPtr(\n    const std::vector<ImagePtr>&
      unique_ptrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' test'
    argTypes:
    - std::ostream
    - SetTileConfigurationTestParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: "& operator<<(std::ostream& os,\n                         const
      SetTileConfigurationTestParams& test)"
    functionSourceFile: /src/libavif/tests/gtest/aviftilingtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& os,\n                         const
      SetTileConfigurationTestParams& test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifSetTileConfiguration
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:58,1
    - Dst: avifSetTileConfiguration
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftilingtest.cc
    functionUses: 0
    functionsReached:
    - avifSetTileConfiguration
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TilingTest, SetTileConfiguration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' test'
    argTypes:
    - std::ostream
    - SetTileConfigurationTestParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: "& operator<<(std::ostream& os,\n                         const
      SetTileConfigurationTestParams& test)"
    functionSourceFile: /src/libavif/tests/gtest/aviftilingtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& os,\n                         const
      SetTileConfigurationTestParams& test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifSetTileConfiguration
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:58,1
    - Dst: avifSetTileConfiguration
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftilingtest.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftilingtest.cc
    functionUses: 0
    functionsReached:
    - avifSetTileConfiguration
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TilingTest, SetTileConfiguration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:32,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:39,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - ImagePtr::get
    - EXPECT_TRUE
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - y4mRead
    - testing::TempDir
    - y4mWrite
    - ASSERT_NE
    - GetParam
    - avif::testutil::FillImagePlain
    - ASSERT_TRUE
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:75,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:92,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - std::get<4>
    - avif::testutil::Decode
    - avifImageUsesU16
    - avif::testutil::CreateImage
    - std::get<2>
    - testing::TempDir
    - EXPECT_NE
    - std::ostringstream::str
    - std::get<5>
    - avif::testutil::Encode
    - std::get<3>
    - GetParam
    - y4mWrite
    - ImagePtr::get
    - std::get<0>
    - y4mRead
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, OutOfRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:32,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:39,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - ImagePtr::get
    - EXPECT_TRUE
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - y4mRead
    - testing::TempDir
    - y4mWrite
    - ASSERT_NE
    - GetParam
    - avif::testutil::FillImagePlain
    - ASSERT_TRUE
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:75,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:92,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - std::get<4>
    - avif::testutil::Decode
    - avifImageUsesU16
    - avif::testutil::CreateImage
    - std::get<2>
    - testing::TempDir
    - EXPECT_NE
    - std::ostringstream::str
    - std::get<5>
    - avif::testutil::Encode
    - std::get<3>
    - GetParam
    - y4mWrite
    - ImagePtr::get
    - std::get<0>
    - y4mRead
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, OutOfRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:32,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:39,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - ImagePtr::get
    - EXPECT_TRUE
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - y4mRead
    - testing::TempDir
    - y4mWrite
    - ASSERT_NE
    - GetParam
    - avif::testutil::FillImagePlain
    - ASSERT_TRUE
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:75,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:92,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - std::get<4>
    - avif::testutil::Decode
    - avifImageUsesU16
    - avif::testutil::CreateImage
    - std::get<2>
    - testing::TempDir
    - EXPECT_NE
    - std::ostringstream::str
    - std::get<5>
    - avif::testutil::Encode
    - std::get<3>
    - GetParam
    - y4mWrite
    - ImagePtr::get
    - std::get<0>
    - y4mRead
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, OutOfRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:25,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:26,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:27,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:28,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:29,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:30,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:32,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:39,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:48,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avify4mtest.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - ImagePtr::get
    - EXPECT_TRUE
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - y4mRead
    - testing::TempDir
    - y4mWrite
    - ASSERT_NE
    - GetParam
    - avif::testutil::FillImagePlain
    - ASSERT_TRUE
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:61,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:62,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:63,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:64,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:65,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avify4mtest.cc:66,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avify4mtest.cc:68,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avify4mtest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:75,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:81,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: y4mWrite
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: y4mRead
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: std::ostringstream::str
      Src: /src/libavif/tests/gtest/avify4mtest.cc:91,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:92,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avify4mtest.cc:97,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avify4mtest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avify4mtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - std::get<4>
    - avif::testutil::Decode
    - avifImageUsesU16
    - avif::testutil::CreateImage
    - std::get<2>
    - testing::TempDir
    - EXPECT_NE
    - std::ostringstream::str
    - std::get<5>
    - avif::testutil::Encode
    - std::get<3>
    - GetParam
    - y4mWrite
    - ImagePtr::get
    - std::get<0>
    - y4mRead
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST_P(Y4mTest, OutOfRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:19,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:32,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: avif::ProgressiveTest::SetUp
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - avifCodecName
    - ASSERT_NE
    - get
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - size
    - expect_width
    - expect_height
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - avifDecoderSetIOMemory
    - avifDecoderParse
    - get
    linkageType: ''
    returnType: void
    signature: "void TestDecode(uint8_t* data, size_t size, uint32_t expect_width,\n
      \                 uint32_t expect_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ProgressiveTest::TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect_width
    - expect_height
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 1
    functionsReached:
    - avif::ProgressiveTest::TestDecode
    linkageType: ''
    returnType: void
    signature: void TestDecode(uint32_t expect_width, uint32_t expect_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, QualityChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TuneIq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifLibYUVVersion
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:128,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - avifLibYUVVersion
    - get
    - GTEST_SKIP
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, DimensionChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - TestDecode
    - get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, LayeredGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, SameLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooManyLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooFewLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:212,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - c_str
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeProgressiveTest, DecodeIdat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:19,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:32,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: avif::ProgressiveTest::SetUp
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - avifCodecName
    - ASSERT_NE
    - get
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - size
    - expect_width
    - expect_height
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - avifDecoderSetIOMemory
    - avifDecoderParse
    - get
    linkageType: ''
    returnType: void
    signature: "void TestDecode(uint8_t* data, size_t size, uint32_t expect_width,\n
      \                 uint32_t expect_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ProgressiveTest::TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect_width
    - expect_height
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 2
    functionsReached:
    - avif::ProgressiveTest::TestDecode
    linkageType: ''
    returnType: void
    signature: void TestDecode(uint32_t expect_width, uint32_t expect_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, QualityChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TuneIq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifLibYUVVersion
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:128,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - avifLibYUVVersion
    - get
    - GTEST_SKIP
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, DimensionChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - TestDecode
    - get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, LayeredGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, SameLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooManyLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooFewLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:212,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - c_str
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeProgressiveTest, DecodeIdat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:19,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:32,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: avif::ProgressiveTest::SetUp
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - avifCodecName
    - ASSERT_NE
    - get
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - size
    - expect_width
    - expect_height
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - avifDecoderSetIOMemory
    - avifDecoderParse
    - get
    linkageType: ''
    returnType: void
    signature: "void TestDecode(uint8_t* data, size_t size, uint32_t expect_width,\n
      \                 uint32_t expect_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ProgressiveTest::TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect_width
    - expect_height
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 3
    functionsReached:
    - avif::ProgressiveTest::TestDecode
    linkageType: ''
    returnType: void
    signature: void TestDecode(uint32_t expect_width, uint32_t expect_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, QualityChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TuneIq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifLibYUVVersion
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:128,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - avifLibYUVVersion
    - get
    - GTEST_SKIP
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, DimensionChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - TestDecode
    - get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, LayeredGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, SameLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooManyLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooFewLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:212,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - c_str
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeProgressiveTest, DecodeIdat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:19,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:32,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: avif::ProgressiveTest::SetUp
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - avifCodecName
    - ASSERT_NE
    - get
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:48,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - size
    - expect_width
    - expect_height
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - avifDecoderSetIOMemory
    - avifDecoderParse
    - get
    linkageType: ''
    returnType: void
    signature: "void TestDecode(uint8_t* data, size_t size, uint32_t expect_width,\n
      \                 uint32_t expect_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::ProgressiveTest::TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect_width
    - expect_height
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: avif::ProgressiveTest::TestDecode
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 4
    functionsReached:
    - avif::ProgressiveTest::TestDecode
    linkageType: ''
    returnType: void
    signature: void TestDecode(uint32_t expect_width, uint32_t expect_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:85,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, QualityChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:99,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:116,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TuneIq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifLibYUVVersion
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:128,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:141,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:145,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - avifLibYUVVersion
    - get
    - GTEST_SKIP
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, DimensionChange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:160,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:164,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - TestDecode
    - get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, LayeredGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:172,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:176,1
    - Dst: TestDecode
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - TestDecode
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, SameLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooManyLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: avif::TEST_F
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifEncoderAddImage
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProgressiveTest, TooFewLayers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:212,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:217,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:222,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:227,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - c_str
    - static_cast<uint32_t>
    - avifDecoderNextImage
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeProgressiveTest, DecodeIdat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:243,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifprogressivetest.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifprogressivetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - file_format
    argTypes:
    - avifAppFileFormat
    assertStmts:
    - condition: (false)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: avif::testutil::FileFormatToString
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string FileFormatToString(avifAppFileFormat file_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:51,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:55,1
    - Dst: std::ofstream::close
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:58,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:80,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:81,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:84,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:88,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:104,1
    - Dst: avif::testutil::FileFormatToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - ' arbitrary_bytes'
    - requested_format
    - requested_depth
    - chroma_downsampling
    - ignore_color_profile
    - ignore_exif
    - ignore_xmp
    - ignore_gain_map
    - matrix_coefficients
    argTypes:
    - std::string
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - bool
    - bool
    - bool
    - bool
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: avif::testutil::ReadImageFile
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::string::c_str
    - avif::testutil::FileFormatToString
    - ASSERT_FALSE
    - EXPECT_GT
    - std::ofstream::close
    - avifReadImage
    - testing::TempDir
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void ReadImageFile(const std::string& arbitrary_bytes,\n                   avifPixelFormat
      requested_format, int requested_depth,\n                   avifChromaDownsampling
      chroma_downsampling,\n                   bool ignore_color_profile, bool ignore_exif,
      bool ignore_xmp,\n                   bool ignore_gain_map,\n                   avifMatrixCoefficients
      matrix_coefficients)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:14,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:16,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifopaquetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ImagePtr::get
    - avif::testutil::AreImagesEqual
    - avif::testutil::CreateImage
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST(OpaqueTest, AlphaAndNoAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:14,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:16,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifopaquetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ImagePtr::get
    - avif::testutil::AreImagesEqual
    - avif::testutil::CreateImage
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST(OpaqueTest, AlphaAndNoAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:14,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:16,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifopaquetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ImagePtr::get
    - avif::testutil::AreImagesEqual
    - avif::testutil::CreateImage
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST(OpaqueTest, AlphaAndNoAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:14,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:16,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:22,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifopaquetest.cc:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifopaquetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ImagePtr::get
    - avif::testutil::AreImagesEqual
    - avif::testutil::CreateImage
    - avif::testutil::FillImagePlain
    linkageType: ''
    returnType: void
    signature: void TEST(OpaqueTest, AlphaAndNoAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, Decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:72,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avif::testutil::EncodeRectAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::get<6>
    - std::get<0>
    - avif::testutil::ReadFile
    - std::get<2>
    - std::string
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::EncodeRectAsIncremental
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(IncrementalTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:134,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:135,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:138,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:147,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:148,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, DecodeGainMapOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, Decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:72,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avif::testutil::EncodeRectAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::get<6>
    - std::get<0>
    - avif::testutil::ReadFile
    - std::get<2>
    - std::string
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::EncodeRectAsIncremental
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(IncrementalTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:134,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:135,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:138,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:147,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:148,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, DecodeGainMapOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, Decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:72,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avif::testutil::EncodeRectAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::get<6>
    - std::get<0>
    - avif::testutil::ReadFile
    - std::get<2>
    - std::string
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::EncodeRectAsIncremental
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(IncrementalTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:134,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:135,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:138,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:147,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:148,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, DecodeGainMapOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:41,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, Decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:62,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:63,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:64,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:65,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:66,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:67,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifincrtest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:72,1
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:74,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:78,1
    - Dst: avif::testutil::EncodeRectAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:89,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::get<5>
    - std::get<3>
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::get<6>
    - std::get<0>
    - avif::testutil::ReadFile
    - std::get<2>
    - std::string
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::EncodeRectAsIncremental
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(IncrementalTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifincrtest.cc:134,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifincrtest.cc:135,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:138,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest.cc:147,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest.cc:148,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(IncrementalTest, DecodeGainMapOnly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifincrtest.cc:161,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifincrtest.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:18,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNearestKeyframe
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderIsKeyframe
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:49,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:58,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithSourceSetToPrimaryItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithAlphaAndMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithDepthAndMetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:110,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:111,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:120,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: "void TEST(AvifDecodeTest,\n     AnimatedImageWithDepthAndMetadataWithSourceSetToPrimaryItem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:144,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:146,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:151,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - avifDecoderSetSource
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithoutTracksShouldFail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:18,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNearestKeyframe
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderIsKeyframe
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:49,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:58,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithSourceSetToPrimaryItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithAlphaAndMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithDepthAndMetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:110,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:111,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:120,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: "void TEST(AvifDecodeTest,\n     AnimatedImageWithDepthAndMetadataWithSourceSetToPrimaryItem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:144,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:146,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:151,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - avifDecoderSetSource
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithoutTracksShouldFail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:18,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNearestKeyframe
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderIsKeyframe
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:49,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:58,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithSourceSetToPrimaryItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithAlphaAndMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithDepthAndMetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:110,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:111,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:120,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: "void TEST(AvifDecodeTest,\n     AnimatedImageWithDepthAndMetadataWithSourceSetToPrimaryItem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:144,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:146,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:151,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - avifDecoderSetSource
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithoutTracksShouldFail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:18,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:29,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNearestKeyframe
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderIsKeyframe
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:49,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:55,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:58,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:69,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithSourceSetToPrimaryItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:79,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithAlphaAndMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithDepthAndMetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:110,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:111,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:117,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:120,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:133,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderSetSource
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: "void TEST(AvifDecodeTest,\n     AnimatedImageWithDepthAndMetadataWithSourceSetToPrimaryItem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:141,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:144,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:146,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:151,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: avifDecoderSetSource
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:159,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - avifDecoderSetSource
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, AnimatedImageWithoutTracksShouldFail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:168,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifanimationtest.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifanimationtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 1
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 1
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 2
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 2
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 3
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 3
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 4
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 4
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 5
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 5
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 6
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 6
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:32,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:33,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:39,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:40,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: uuid::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:41,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:45,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:49,1
    - Dst: body::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:50,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:55,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:63,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:64,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:68,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:71,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:75,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: fourcc::data
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - image
    - encoder
    - decoder
    - ' test_props'
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - std::vector<TestProp>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: avif::testutil::EncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifIsValidUUID
    - uuid::data
    - std::vector::size
    - fourcc::data
    - std::vector<uint8_t>
    - body::size
    - std::string
    - avifResultToString
    - body::data
    - avifDecoderReadMemory
    - avifImageAddOpaqueProperty
    - EncoderPtr::get
    - ImagePtr::get
    - avifIsKnownPropertyType
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - avifImageAddUUIDProperty
    linkageType: ''
    returnType: void
    signature: "void EncodeDecode(ImagePtr image, EncoderPtr encoder, DecoderPtr decoder,\n
      \                 const std::vector<TestProp>& test_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 4>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:85,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:86,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:87,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: avif::testutil::ArbitraryProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 7
    functionsReached:
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    - fuzztest::Arbitrary<std::array<uint8_t, 4>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:92,1
    - Dst: fuzztest::Arbitrary<std::array<uint8_t, 16>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:93,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:94,1
    - Dst: fuzztest::StructOf<TestProp>
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: avif::testutil::ArbitraryUUIDProp
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 7
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::StructOf<TestProp>
    - fuzztest::Arbitrary<std::array<uint8_t, 16>>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryUUIDProp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::VectorOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:99,1
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    - Dst: avif::testutil::ArbitraryUUIDProp
      Src: /src/libavif/tests/gtest/avif_fuzztest_properties.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avif::testutil::ArbitraryProps
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryUUIDProp
    - avif::testutil::ArbitraryProp
    - fuzztest::VectorOf
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryProps()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcicptest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcicptest.cc:22,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcicptest.cc:33,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:34,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifcicptest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcicptest.cc
    functionUses: 0
    functionsReached:
    - std::get<4>
    - avif::testutil::FillImageGradient
    - std::get<6>
    - avif::testutil::CreateImage
    - std::get<2>
    - std::get<5>
    - std::get<1>
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST_P(CicpTest, EncodeDecode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcicptest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcicptest.cc:22,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcicptest.cc:33,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:34,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifcicptest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcicptest.cc
    functionUses: 0
    functionsReached:
    - std::get<4>
    - avif::testutil::FillImageGradient
    - std::get<6>
    - avif::testutil::CreateImage
    - std::get<2>
    - std::get<5>
    - std::get<1>
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST_P(CicpTest, EncodeDecode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcicptest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcicptest.cc:22,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcicptest.cc:33,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:34,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifcicptest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcicptest.cc
    functionUses: 0
    functionsReached:
    - std::get<4>
    - avif::testutil::FillImageGradient
    - std::get<6>
    - avif::testutil::CreateImage
    - std::get<2>
    - std::get<5>
    - std::get<1>
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST_P(CicpTest, EncodeDecode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:20,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifcicptest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifcicptest.cc:22,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcicptest.cc:29,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifcicptest.cc:33,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:34,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:45,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifcicptest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:50,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcicptest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcicptest.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcicptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcicptest.cc
    functionUses: 0
    functionsReached:
    - std::get<4>
    - avif::testutil::FillImageGradient
    - std::get<6>
    - avif::testutil::CreateImage
    - std::get<2>
    - std::get<5>
    - std::get<1>
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST_P(CicpTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:18,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:22,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:27,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:28,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:29,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifilocextenttest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - avif::testutil::GetPsnr
    - EXPECT_GT
    - avif::testutil::DecodeFile
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(IlocTest, TwoExtents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:18,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:22,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:27,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:28,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:29,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifilocextenttest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - avif::testutil::GetPsnr
    - EXPECT_GT
    - avif::testutil::DecodeFile
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(IlocTest, TwoExtents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:18,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:22,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:27,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:28,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:29,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifilocextenttest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - avif::testutil::GetPsnr
    - EXPECT_GT
    - avif::testutil::DecodeFile
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(IlocTest, TwoExtents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:18,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:22,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:24,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:27,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:28,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:29,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifilocextenttest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - avif::testutil::GetPsnr
    - EXPECT_GT
    - avif::testutil::DecodeFile
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(IlocTest, TwoExtents)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:39,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifilocextenttest.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifilocextenttest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: avif::AvifExpression::AvifExpression
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~AvifExpression()
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - constant
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: avif::AvifExpression::AddConstant
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddConstant(int32_t constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputImageItemIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: avif::AvifExpression::AddImage
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddImage(uint8_t inputImageItemIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: avif::AvifExpression::AddOperator
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddOperator(avifSampleTransformTokenType op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:42,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::AvifExpression::Apply
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifImageCreate
    - avifImageAllocatePlanes
    - abort
    - avifImageApplyExpression
    - ImagePtr::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t Apply() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:57,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:58,1
    - Dst: reinterpret_cast<avifSampleTransformToken*>
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: avifArrayPush
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& AddToken()'
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - reinterpret_cast<avifSampleTransformToken*>
    - abort
    - avifArrayPush
    linkageType: ''
    returnType: avifSampleTransformToken
    signature: avifSampleTransformToken & AddToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:69,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:70,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:71,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - op
    argTypes:
    - int32_t
    - int32_t
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: avif::Eval
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - AvifExpression::Apply
    linkageType: ''
    returnType: int32_t
    signature: int32_t Eval(int32_t a, int32_t b, avifSampleTransformTokenType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:79,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifSampleTransformExpressionToRecipe
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoRecipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:113,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSampleTransformExpressionIsEquivalentTo
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsValid
    - avifSampleTransformExpressionToRecipe
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, RecipeToExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_FALSE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NotEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:134,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - EXPECT_EQ
    - AvifExpression::Apply
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, MaxStackSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avif::Eval
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, Pow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - o
    - r
    - e
    argTypes:
    - int32_t
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(int32_t l, avifSampleTransformTokenType o, int32_t r, uint32_t
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - o
    - l
    - e
    argTypes:
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(avifSampleTransformTokenType o, int32_t l, uint32_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AvifExpression::Apply
    - AvifExpression::AddConstant
    - AvifExpression::AddOperator
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformOperationTest, Apply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: avif::AvifExpression::AvifExpression
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~AvifExpression()
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - constant
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: avif::AvifExpression::AddConstant
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddConstant(int32_t constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputImageItemIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: avif::AvifExpression::AddImage
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddImage(uint8_t inputImageItemIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: avif::AvifExpression::AddOperator
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddOperator(avifSampleTransformTokenType op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:42,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::AvifExpression::Apply
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifImageCreate
    - avifImageAllocatePlanes
    - abort
    - avifImageApplyExpression
    - ImagePtr::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t Apply() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:57,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:58,1
    - Dst: reinterpret_cast<avifSampleTransformToken*>
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: avifArrayPush
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& AddToken()'
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - reinterpret_cast<avifSampleTransformToken*>
    - abort
    - avifArrayPush
    linkageType: ''
    returnType: avifSampleTransformToken
    signature: avifSampleTransformToken & AddToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:69,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:70,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:71,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - op
    argTypes:
    - int32_t
    - int32_t
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: avif::Eval
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 1
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - AvifExpression::Apply
    linkageType: ''
    returnType: int32_t
    signature: int32_t Eval(int32_t a, int32_t b, avifSampleTransformTokenType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:79,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifSampleTransformExpressionToRecipe
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoRecipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:113,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSampleTransformExpressionIsEquivalentTo
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsValid
    - avifSampleTransformExpressionToRecipe
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, RecipeToExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_FALSE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NotEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:134,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - EXPECT_EQ
    - AvifExpression::Apply
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, MaxStackSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avif::Eval
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, Pow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - o
    - r
    - e
    argTypes:
    - int32_t
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(int32_t l, avifSampleTransformTokenType o, int32_t r, uint32_t
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - o
    - l
    - e
    argTypes:
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(avifSampleTransformTokenType o, int32_t l, uint32_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AvifExpression::Apply
    - AvifExpression::AddConstant
    - AvifExpression::AddOperator
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformOperationTest, Apply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: avif::AvifExpression::AvifExpression
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~AvifExpression()
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - constant
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: avif::AvifExpression::AddConstant
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddConstant(int32_t constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputImageItemIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: avif::AvifExpression::AddImage
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddImage(uint8_t inputImageItemIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: avif::AvifExpression::AddOperator
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddOperator(avifSampleTransformTokenType op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:42,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::AvifExpression::Apply
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifImageCreate
    - avifImageAllocatePlanes
    - abort
    - avifImageApplyExpression
    - ImagePtr::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t Apply() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:57,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:58,1
    - Dst: reinterpret_cast<avifSampleTransformToken*>
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: avifArrayPush
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& AddToken()'
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - reinterpret_cast<avifSampleTransformToken*>
    - abort
    - avifArrayPush
    linkageType: ''
    returnType: avifSampleTransformToken
    signature: avifSampleTransformToken & AddToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:69,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:70,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:71,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - op
    argTypes:
    - int32_t
    - int32_t
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: avif::Eval
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 2
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - AvifExpression::Apply
    linkageType: ''
    returnType: int32_t
    signature: int32_t Eval(int32_t a, int32_t b, avifSampleTransformTokenType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:79,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifSampleTransformExpressionToRecipe
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoRecipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:113,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSampleTransformExpressionIsEquivalentTo
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsValid
    - avifSampleTransformExpressionToRecipe
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, RecipeToExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_FALSE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NotEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:134,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - EXPECT_EQ
    - AvifExpression::Apply
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, MaxStackSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avif::Eval
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, Pow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - o
    - r
    - e
    argTypes:
    - int32_t
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(int32_t l, avifSampleTransformTokenType o, int32_t r, uint32_t
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - o
    - l
    - e
    argTypes:
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(avifSampleTransformTokenType o, int32_t l, uint32_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AvifExpression::Apply
    - AvifExpression::AddConstant
    - AvifExpression::AddOperator
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformOperationTest, Apply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: avif::AvifExpression::AvifExpression
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ~AvifExpression()
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifExpression()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - constant
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: avif::AvifExpression::AddConstant
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddConstant(int32_t constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputImageItemIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: avif::AvifExpression::AddImage
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddImage(uint8_t inputImageItemIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToken
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: avif::AvifExpression::AddOperator
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AddToken
    linkageType: ''
    returnType: void
    signature: void AddOperator(avifSampleTransformTokenType op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:39,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:40,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:42,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:45,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: avif::AvifExpression::Apply
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifImageCreate
    - avifImageAllocatePlanes
    - abort
    - avifImageApplyExpression
    - ImagePtr::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t Apply() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayCreate
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:57,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:58,1
    - Dst: reinterpret_cast<avifSampleTransformToken*>
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: avifArrayPush
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:61,1
    - Dst: abort
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& AddToken()'
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - reinterpret_cast<avifSampleTransformToken*>
    - abort
    - avifArrayPush
    linkageType: ''
    returnType: avifSampleTransformToken
    signature: avifSampleTransformToken & AddToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:69,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:70,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:71,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - op
    argTypes:
    - int32_t
    - int32_t
    - avifSampleTransformTokenType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: avif::Eval
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 3
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - AvifExpression::Apply
    linkageType: ''
    returnType: int32_t
    signature: int32_t Eval(int32_t a, int32_t b, avifSampleTransformTokenType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:79,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifSampleTransformExpressionToRecipe
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NoRecipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: avifSampleTransformExpressionToRecipe
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:113,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSampleTransformExpressionIsEquivalentTo
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - avifSampleTransformExpressionIsValid
    - avifSampleTransformExpressionToRecipe
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, RecipeToExpression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_FALSE
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, NotEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:134,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - AvifExpression::AddOperator
    - AvifExpression::AddConstant
    - EXPECT_EQ
    - AvifExpression::Apply
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, MaxStackSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    - Dst: avif::Eval
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - avif::Eval
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SampleTransformTest, Pow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - o
    - r
    - e
    argTypes:
    - int32_t
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(int32_t l, avifSampleTransformTokenType o, int32_t r, uint32_t
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - o
    - l
    - e
    argTypes:
    - avifSampleTransformTokenType
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: avif::Op
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Op(avifSampleTransformTokenType o, int32_t l, uint32_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:203,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddConstant
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:204,1
    - Dst: AvifExpression::AddOperator
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: AvifExpression::Apply
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsampletransformtest.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsampletransformtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AvifExpression::Apply
    - AvifExpression::AddConstant
    - AvifExpression::AddOperator
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformOperationTest, Apply)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::stoi
      Src: /src/libavif/tests/gtest/are_images_equal.cc:23,1
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/are_images_equal.cc:25,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/are_images_equal.cc:25,1
    - Dst: ImagePtr
      Src: /src/libavif/tests/gtest/are_images_equal.cc:26,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/are_images_equal.cc:26,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/are_images_equal.cc:38,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/are_images_equal.cc:44,1
    - Dst: get
      Src: /src/libavif/tests/gtest/are_images_equal.cc:45,1
    - Dst: std::stoi
      Src: /src/libavif/tests/gtest/are_images_equal.cc:58,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/are_images_equal.cc:61,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/are_images_equal.cc:64,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/are_images_equal.cc:72,1
    - Dst: std::stod
      Src: /src/libavif/tests/gtest/are_images_equal.cc:73,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/are_images_equal.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreImagesEqual
    - std::numeric_limits<uint32_t>::max
    - std::stod
    - avifReadImage
    - ImagePtr
    - avif::testutil::GetPsnr
    - get
    - std::stoi
    - avifImageCreateEmpty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:31,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: avif::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& lhs,\n                                 const
      avifGainMap& rhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - base_rendition_is_hdr
    - gainMap
    argTypes:
    - bool
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: avif::FillTestGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - swap
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void FillTestGainMapMetadata(bool base_rendition_is_hdr, avifGainMap*
      gainMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:65,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:78,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:87,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:91,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - base_rendition_is_hdr
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: avif::CreateTestImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::release
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - ImagePtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr CreateTestImageWithGainMap(bool base_rendition_is_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:122,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:125,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:126,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:129,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:133,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:134,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:138,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:166,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:167,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:171,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:172,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 182
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - EXPECT_GT
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageSdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:189,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:192,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:193,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:198,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:202,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:203,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:209,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:225,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageHdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:235,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOrientedNotEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:247,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:274,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:289,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:292,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:296,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:298,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:301,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:302,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 306
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataSameDenominator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:309,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:310,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:321,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:324,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:330,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:333,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:334,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataAllChannelsIdentical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:352,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:354,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:360,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:363,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:364,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:365,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:370,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:375,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:380,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:381,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:383,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:384,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:389,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:393,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:394,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:396,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:402,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:403,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:404,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:408,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:414,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:415,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 433
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avif::testutil::MergeGrid
    - avifEncoderAddImageGrid
    - avif::testutil::FillImageGradient
    - avif::CheckGainMapMetadataMatches
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - static_cast<int>
    - avifEncoderFinish
    - avifResultToString
    - ASSERT_GT
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - ImagePtr::release
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::move
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:445,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:449,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:451,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:455,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:456,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:458,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:465,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:475,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:476,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:485,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:486,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - EXPECT_EQ
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - std::move
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, InvalidGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:502,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:504,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:510,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:514,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:517,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:523,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:524,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:530,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 532
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, SequenceNotSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:535,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:536,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:539,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:542,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:543,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:547,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:549,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:552,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:553,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:558,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:560,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 571
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreGainMapButReadMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:574,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:575,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:578,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:581,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:582,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:585,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:587,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:592,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:593,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:602,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:604,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:605,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreColorAndAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:612,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:613,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:616,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:619,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:620,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:623,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:633,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:634,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:635,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:644,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:646,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:650,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:653,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:654,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:657,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:659,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:664,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:665,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 671
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, NoGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:675,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:677,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:681,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:682,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:686,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:687,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:689,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:694,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:696,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:697,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:703,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:704,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:708,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string::c_str
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:714,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:716,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:725,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:726,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorGridGainMapNoGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:737,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:739,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:748,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:749,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:754,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 756
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorNoGridGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:764,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:765,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:767,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:769,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:776,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 785
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifDecoderReset
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeUnsupportedVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:789,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:792,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:794,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataUnsupportedWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:806,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:809,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:811,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataSupporterWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:821,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:823,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:825,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:830,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:831,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidFtyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:838,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:840,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:842,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:847,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeWrongAltr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:860,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:862,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidGamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - numerator
    - ','
    - denominator
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: EXPECT_FRACTION_NEAR
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FRACTION_NEAR(numerator, denominator, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:876,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:877,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:879,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' new_alternate'
    - ' gain_map'
    argTypes:
    - avifImage
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: avif::SwapBaseAndAlternate
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: "void SwapBaseAndAlternate(const avifImage& new_alternate,\n                                 avifGainMap&
      gain_map)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:901,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:903,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:907,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:910,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:912,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:913,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:917,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:919,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:920,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:924,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:928,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:936,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:939,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:941,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:944,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:945,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:947,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:949,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:954,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:965,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:969,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:976,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:977,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:981,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:983,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 990
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - avifResultToString
    - std::ofstream
    - avif::testutil::Encode
    - ASSERT_GT
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - avifImageScale
    - std::string
    - avif::testutil::DecodeFile
    - DecoderPtr::get
    - ImagePtr::get
    - avif::SwapBaseAndAlternate
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateTestImages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1011,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1026,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1027,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1031,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1032,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1034,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 9
    argNames:
    - base_image
    - ' gain_map'
    - hdr_headroom
    - out_depth
    - out_transfer_characteristics
    - out_rgb_format
    - reference_image
    - min_psnr
    - max_psnr
    argTypes:
    - avifImage*
    - avifGainMap
    - float
    - int
    - avifTransferCharacteristics
    - avifRGBFormat
    - avifImage*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1048
    functionName: avif::ToneMapImageAndCompareToReference
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LE
    - avifResultToString
    - ImagePtr::get
    - SCOPED_TRACE
    - EXPECT_EQ
    - avifImageCreate
    - EXPECT_GE
    - avifImageApplyGainMap
    - std::to_string
    - avifImageRGBToYUV
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ToneMapImageAndCompareToReference(\n    const avifImage* base_image,
      const avifGainMap& gain_map,\n    float hdr_headroom, int out_depth,\n    avifTransferCharacteristics
      out_transfer_characteristics,\n    avifRGBFormat out_rgb_format, const avifImage*
      reference_image,\n    float min_psnr, float max_psnr, float* psnr_out = nullptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: std::string::empty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1064,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1069,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1071,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1073,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1077,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1078,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1079,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1080,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1086
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avif::testutil::DecodeFile
    - std::string::empty
    - std::get<4>
    - std::get<6>
    - std::get<2>
    - std::string
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - std::string::c_str
    - avifDecoderReadFile
    - ImagePtr::get
    - ASSERT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(ToneMapTest, ToneMapImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1198,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1200,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1204,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1205,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1208,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1219,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1220,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - static_cast<float>
    - avif::ToneMapImageAndCompareToReference
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ToneMapTest, ToneMapImageSameHeadroom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1240,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1245,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1258,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1259,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1262,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1266,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1267,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1270,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1271,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1281,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1282,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1295,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1296,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1300
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, OpaqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1321,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1323,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1325,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1326,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1327,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1328,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1330,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1336,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1337,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1340,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1341,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1350,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1351,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1352,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1356,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1358,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1359,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1360,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1371,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1372,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1376,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1380,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1381,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1382,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1386,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1388,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1389,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1390,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1399,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1403
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::max<uint32_t>
    - avif::testutil::DecodeFile
    - EXPECT_NEAR
    - std::round
    - std::get<4>
    - avifImageCreate
    - std::get<6>
    - std::get<2>
    - std::string
    - avif::SwapBaseAndAlternate
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - avifImageComputeGainMap
    - GainMapPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - EXPECT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CreateGainMapTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1479,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1480,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1481,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1487,1
    - Dst: avifRGBImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1489,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1496
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifImageCreate
    - GainMapPtr::get
    - avifRGBImageComputeGainMap
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateGainMapConstantFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1502,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1506,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1509,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1518,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1523,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1529,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1530,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1532,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1547,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1552,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1553,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1555,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1559
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOneFewValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1565,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1586,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1590,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1594
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - std::to_string
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:31,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: avif::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 8
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& lhs,\n                                 const
      avifGainMap& rhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - base_rendition_is_hdr
    - gainMap
    argTypes:
    - bool
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: avif::FillTestGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 3
    functionsReached:
    - swap
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void FillTestGainMapMetadata(bool base_rendition_is_hdr, avifGainMap*
      gainMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:65,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:78,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:87,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:91,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - base_rendition_is_hdr
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: avif::CreateTestImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 10
    functionsReached:
    - ImagePtr::release
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - ImagePtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr CreateTestImageWithGainMap(bool base_rendition_is_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:122,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:125,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:126,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:129,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:133,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:134,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:138,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:166,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:167,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:171,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:172,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 182
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - EXPECT_GT
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageSdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:189,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:192,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:193,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:198,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:202,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:203,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:209,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:225,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageHdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:235,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOrientedNotEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:247,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:274,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:289,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:292,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:296,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:298,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:301,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:302,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 306
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataSameDenominator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:309,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:310,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:321,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:324,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:330,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:333,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:334,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataAllChannelsIdentical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:352,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:354,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:360,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:363,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:364,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:365,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:370,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:375,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:380,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:381,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:383,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:384,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:389,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:393,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:394,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:396,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:402,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:403,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:404,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:408,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:414,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:415,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 433
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avif::testutil::MergeGrid
    - avifEncoderAddImageGrid
    - avif::testutil::FillImageGradient
    - avif::CheckGainMapMetadataMatches
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - static_cast<int>
    - avifEncoderFinish
    - avifResultToString
    - ASSERT_GT
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - ImagePtr::release
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::move
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:445,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:449,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:451,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:455,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:456,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:458,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:465,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:475,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:476,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:485,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:486,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - EXPECT_EQ
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - std::move
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, InvalidGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:502,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:504,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:510,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:514,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:517,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:523,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:524,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:530,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 532
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, SequenceNotSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:535,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:536,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:539,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:542,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:543,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:547,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:549,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:552,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:553,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:558,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:560,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 571
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreGainMapButReadMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:574,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:575,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:578,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:581,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:582,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:585,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:587,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:592,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:593,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:602,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:604,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:605,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreColorAndAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:612,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:613,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:616,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:619,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:620,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:623,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:633,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:634,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:635,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:644,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:646,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:650,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:653,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:654,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:657,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:659,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:664,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:665,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 671
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, NoGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:675,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:677,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:681,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:682,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:686,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:687,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:689,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:694,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:696,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:697,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:703,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:704,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:708,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string::c_str
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:714,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:716,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:725,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:726,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorGridGainMapNoGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:737,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:739,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:748,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:749,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:754,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 756
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorNoGridGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:764,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:765,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:767,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:769,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:776,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 785
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifDecoderReset
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeUnsupportedVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:789,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:792,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:794,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataUnsupportedWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:806,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:809,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:811,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataSupporterWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:821,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:823,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:825,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:830,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:831,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidFtyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:838,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:840,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:842,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:847,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeWrongAltr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:860,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:862,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidGamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - numerator
    - ','
    - denominator
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: EXPECT_FRACTION_NEAR
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FRACTION_NEAR(numerator, denominator, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:876,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:877,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:879,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' new_alternate'
    - ' gain_map'
    argTypes:
    - avifImage
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: avif::SwapBaseAndAlternate
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 2
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: "void SwapBaseAndAlternate(const avifImage& new_alternate,\n                                 avifGainMap&
      gain_map)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:901,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:903,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:907,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:910,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:912,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:913,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:917,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:919,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:920,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:924,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:928,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:936,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:939,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:941,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:944,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:945,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:947,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:949,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:954,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:965,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:969,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:976,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:977,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:981,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:983,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 990
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - avifResultToString
    - std::ofstream
    - avif::testutil::Encode
    - ASSERT_GT
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - avifImageScale
    - std::string
    - avif::testutil::DecodeFile
    - DecoderPtr::get
    - ImagePtr::get
    - avif::SwapBaseAndAlternate
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateTestImages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1011,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1026,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1027,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1031,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1032,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1034,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 9
    argNames:
    - base_image
    - ' gain_map'
    - hdr_headroom
    - out_depth
    - out_transfer_characteristics
    - out_rgb_format
    - reference_image
    - min_psnr
    - max_psnr
    argTypes:
    - avifImage*
    - avifGainMap
    - float
    - int
    - avifTransferCharacteristics
    - avifRGBFormat
    - avifImage*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1048
    functionName: avif::ToneMapImageAndCompareToReference
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LE
    - avifResultToString
    - ImagePtr::get
    - SCOPED_TRACE
    - EXPECT_EQ
    - avifImageCreate
    - EXPECT_GE
    - avifImageApplyGainMap
    - std::to_string
    - avifImageRGBToYUV
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ToneMapImageAndCompareToReference(\n    const avifImage* base_image,
      const avifGainMap& gain_map,\n    float hdr_headroom, int out_depth,\n    avifTransferCharacteristics
      out_transfer_characteristics,\n    avifRGBFormat out_rgb_format, const avifImage*
      reference_image,\n    float min_psnr, float max_psnr, float* psnr_out = nullptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: std::string::empty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1064,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1069,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1071,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1073,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1077,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1078,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1079,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1080,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1086
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avif::testutil::DecodeFile
    - std::string::empty
    - std::get<4>
    - std::get<6>
    - std::get<2>
    - std::string
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - std::string::c_str
    - avifDecoderReadFile
    - ImagePtr::get
    - ASSERT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(ToneMapTest, ToneMapImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1198,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1200,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1204,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1205,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1208,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1219,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1220,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - static_cast<float>
    - avif::ToneMapImageAndCompareToReference
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ToneMapTest, ToneMapImageSameHeadroom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1240,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1245,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1258,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1259,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1262,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1266,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1267,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1270,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1271,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1281,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1282,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1295,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1296,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1300
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, OpaqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1321,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1323,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1325,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1326,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1327,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1328,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1330,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1336,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1337,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1340,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1341,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1350,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1351,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1352,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1356,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1358,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1359,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1360,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1371,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1372,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1376,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1380,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1381,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1382,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1386,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1388,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1389,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1390,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1399,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1403
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::max<uint32_t>
    - avif::testutil::DecodeFile
    - EXPECT_NEAR
    - std::round
    - std::get<4>
    - avifImageCreate
    - std::get<6>
    - std::get<2>
    - std::string
    - avif::SwapBaseAndAlternate
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - avifImageComputeGainMap
    - GainMapPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - EXPECT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CreateGainMapTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1479,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1480,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1481,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1487,1
    - Dst: avifRGBImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1489,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1496
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifImageCreate
    - GainMapPtr::get
    - avifRGBImageComputeGainMap
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateGainMapConstantFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1502,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1506,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1509,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1518,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1523,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1529,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1530,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1532,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1547,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1552,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1553,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1555,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1559
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOneFewValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1565,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1586,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1590,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1594
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - std::to_string
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:31,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: avif::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 16
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& lhs,\n                                 const
      avifGainMap& rhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - base_rendition_is_hdr
    - gainMap
    argTypes:
    - bool
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: avif::FillTestGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 6
    functionsReached:
    - swap
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void FillTestGainMapMetadata(bool base_rendition_is_hdr, avifGainMap*
      gainMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:65,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:78,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:87,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:91,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - base_rendition_is_hdr
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: avif::CreateTestImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 20
    functionsReached:
    - ImagePtr::release
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - ImagePtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr CreateTestImageWithGainMap(bool base_rendition_is_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:122,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:125,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:126,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:129,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:133,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:134,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:138,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:166,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:167,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:171,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:172,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 182
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - EXPECT_GT
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageSdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:189,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:192,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:193,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:198,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:202,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:203,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:209,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:225,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageHdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:235,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOrientedNotEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:247,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:274,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:289,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:292,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:296,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:298,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:301,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:302,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 306
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataSameDenominator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:309,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:310,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:321,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:324,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:330,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:333,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:334,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataAllChannelsIdentical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:352,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:354,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:360,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:363,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:364,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:365,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:370,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:375,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:380,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:381,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:383,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:384,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:389,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:393,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:394,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:396,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:402,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:403,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:404,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:408,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:414,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:415,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 433
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avif::testutil::MergeGrid
    - avifEncoderAddImageGrid
    - avif::testutil::FillImageGradient
    - avif::CheckGainMapMetadataMatches
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - static_cast<int>
    - avifEncoderFinish
    - avifResultToString
    - ASSERT_GT
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - ImagePtr::release
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::move
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:445,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:449,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:451,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:455,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:456,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:458,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:465,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:475,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:476,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:485,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:486,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - EXPECT_EQ
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - std::move
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, InvalidGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:502,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:504,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:510,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:514,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:517,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:523,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:524,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:530,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 532
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, SequenceNotSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:535,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:536,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:539,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:542,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:543,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:547,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:549,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:552,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:553,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:558,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:560,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 571
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreGainMapButReadMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:574,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:575,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:578,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:581,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:582,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:585,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:587,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:592,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:593,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:602,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:604,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:605,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreColorAndAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:612,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:613,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:616,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:619,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:620,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:623,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:633,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:634,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:635,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:644,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:646,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:650,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:653,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:654,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:657,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:659,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:664,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:665,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 671
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, NoGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:675,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:677,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:681,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:682,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:686,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:687,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:689,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:694,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:696,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:697,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:703,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:704,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:708,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string::c_str
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:714,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:716,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:725,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:726,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorGridGainMapNoGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:737,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:739,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:748,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:749,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:754,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 756
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorNoGridGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:764,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:765,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:767,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:769,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:776,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 785
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifDecoderReset
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeUnsupportedVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:789,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:792,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:794,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataUnsupportedWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:806,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:809,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:811,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataSupporterWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:821,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:823,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:825,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:830,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:831,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidFtyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:838,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:840,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:842,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:847,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeWrongAltr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:860,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:862,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidGamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - numerator
    - ','
    - denominator
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: EXPECT_FRACTION_NEAR
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FRACTION_NEAR(numerator, denominator, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:876,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:877,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:879,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' new_alternate'
    - ' gain_map'
    argTypes:
    - avifImage
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: avif::SwapBaseAndAlternate
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 4
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: "void SwapBaseAndAlternate(const avifImage& new_alternate,\n                                 avifGainMap&
      gain_map)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:901,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:903,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:907,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:910,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:912,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:913,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:917,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:919,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:920,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:924,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:928,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:936,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:939,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:941,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:944,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:945,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:947,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:949,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:954,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:965,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:969,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:976,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:977,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:981,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:983,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 990
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - avifResultToString
    - std::ofstream
    - avif::testutil::Encode
    - ASSERT_GT
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - avifImageScale
    - std::string
    - avif::testutil::DecodeFile
    - DecoderPtr::get
    - ImagePtr::get
    - avif::SwapBaseAndAlternate
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateTestImages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1011,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1026,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1027,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1031,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1032,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1034,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 9
    argNames:
    - base_image
    - ' gain_map'
    - hdr_headroom
    - out_depth
    - out_transfer_characteristics
    - out_rgb_format
    - reference_image
    - min_psnr
    - max_psnr
    argTypes:
    - avifImage*
    - avifGainMap
    - float
    - int
    - avifTransferCharacteristics
    - avifRGBFormat
    - avifImage*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1048
    functionName: avif::ToneMapImageAndCompareToReference
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 6
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LE
    - avifResultToString
    - ImagePtr::get
    - SCOPED_TRACE
    - EXPECT_EQ
    - avifImageCreate
    - EXPECT_GE
    - avifImageApplyGainMap
    - std::to_string
    - avifImageRGBToYUV
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ToneMapImageAndCompareToReference(\n    const avifImage* base_image,
      const avifGainMap& gain_map,\n    float hdr_headroom, int out_depth,\n    avifTransferCharacteristics
      out_transfer_characteristics,\n    avifRGBFormat out_rgb_format, const avifImage*
      reference_image,\n    float min_psnr, float max_psnr, float* psnr_out = nullptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: std::string::empty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1064,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1069,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1071,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1073,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1077,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1078,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1079,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1080,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1086
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avif::testutil::DecodeFile
    - std::string::empty
    - std::get<4>
    - std::get<6>
    - std::get<2>
    - std::string
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - std::string::c_str
    - avifDecoderReadFile
    - ImagePtr::get
    - ASSERT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(ToneMapTest, ToneMapImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1198,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1200,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1204,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1205,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1208,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1219,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1220,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - static_cast<float>
    - avif::ToneMapImageAndCompareToReference
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ToneMapTest, ToneMapImageSameHeadroom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1240,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1245,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1258,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1259,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1262,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1266,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1267,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1270,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1271,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1281,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1282,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1295,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1296,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1300
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, OpaqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1321,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1323,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1325,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1326,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1327,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1328,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1330,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1336,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1337,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1340,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1341,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1350,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1351,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1352,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1356,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1358,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1359,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1360,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1371,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1372,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1376,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1380,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1381,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1382,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1386,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1388,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1389,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1390,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1399,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1403
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::max<uint32_t>
    - avif::testutil::DecodeFile
    - EXPECT_NEAR
    - std::round
    - std::get<4>
    - avifImageCreate
    - std::get<6>
    - std::get<2>
    - std::string
    - avif::SwapBaseAndAlternate
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - avifImageComputeGainMap
    - GainMapPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - EXPECT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CreateGainMapTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1479,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1480,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1481,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1487,1
    - Dst: avifRGBImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1489,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1496
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifImageCreate
    - GainMapPtr::get
    - avifRGBImageComputeGainMap
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateGainMapConstantFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1502,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1506,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1509,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1518,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1523,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1529,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1530,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1532,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1547,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1552,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1553,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1555,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1559
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOneFewValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1565,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1586,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1590,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1594
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - std::to_string
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:31,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: avif::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 24
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& lhs,\n                                 const
      avifGainMap& rhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - base_rendition_is_hdr
    - gainMap
    argTypes:
    - bool
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: avif::FillTestGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 9
    functionsReached:
    - swap
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void FillTestGainMapMetadata(bool base_rendition_is_hdr, avifGainMap*
      gainMap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:65,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:76,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:78,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:86,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:87,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:91,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - base_rendition_is_hdr
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: avif::CreateTestImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 30
    functionsReached:
    - ImagePtr::release
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - ImagePtr::get
    linkageType: ''
    returnType: ImagePtr
    signature: ImagePtr CreateTestImageWithGainMap(bool base_rendition_is_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:122,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:125,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:126,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:129,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:133,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:134,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:138,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:141,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:166,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:167,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:171,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:172,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 182
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - EXPECT_GT
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageSdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:185,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:189,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:192,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:193,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:198,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:202,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:203,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:206,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:209,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:225,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeBaseImageHdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:235,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:239,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderWrite
    - ASSERT_NE
    - EncoderPtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOrientedNotEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:247,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:253,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:255,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeOriented)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:274,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:289,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:291,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:292,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:296,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:298,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:301,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:302,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 306
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataSameDenominator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:309,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:310,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:321,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:324,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:328,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:330,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:331,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:333,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:334,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeMetadataAllChannelsIdentical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:352,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:354,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:356,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:360,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:361,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:363,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:364,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:365,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:369,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:370,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:371,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:375,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:378,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:380,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:381,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:382,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:383,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:384,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:389,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:393,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:394,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:396,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:399,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:402,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:403,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:404,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: avif::testutil::MergeGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:407,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:408,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:412,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:414,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:415,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:416,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:422,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 433
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avif::testutil::MergeGrid
    - avifEncoderAddImageGrid
    - avif::testutil::FillImageGradient
    - avif::CheckGainMapMetadataMatches
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - static_cast<int>
    - avifEncoderFinish
    - avifResultToString
    - ASSERT_GT
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - ImagePtr::release
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::move
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, EncodeDecodeGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:445,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:447,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:449,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:451,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:452,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:455,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:456,1
    - Dst: avif::FillTestGainMapMetadata
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:458,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:460,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:461,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:465,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:473,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:475,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:476,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:483,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:485,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:486,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:492,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - EXPECT_EQ
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avif::FillTestGainMapMetadata
    - std::vector::data
    - std::move
    - ASSERT_NE
    - ImagePtr::get
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, InvalidGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:502,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:504,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:506,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:510,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:511,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:514,1
    - Dst: ImagePtr::release
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:517,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:523,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:524,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:527,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:530,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 532
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ImagePtr::release
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, SequenceNotSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:535,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:536,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:539,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:541,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:542,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:543,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:547,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:549,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:550,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:552,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:553,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:556,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:558,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:560,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:567,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 571
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreGainMapButReadMetadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:574,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:575,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:578,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:580,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:581,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:582,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:585,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:587,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:590,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:592,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:593,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:602,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:604,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:605,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:606,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreColorAndAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:612,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:613,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:616,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:618,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:619,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:620,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:623,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:629,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:631,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:633,1
    - Dst: avif::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:634,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:635,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - avif::CheckGainMapMetadataMatches
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, IgnoreAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:644,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:646,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:648,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:650,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:652,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:653,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:654,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:657,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:659,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:662,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:664,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:665,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 671
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, NoGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:675,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:677,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:680,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:681,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:682,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:685,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:686,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:687,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:689,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:694,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:696,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:697,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:703,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:704,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:707,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:708,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string::c_str
    - ASSERT_TRUE
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:714,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:716,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:718,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:720,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:725,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:726,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 733
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorGridGainMapNoGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:737,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:739,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:741,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:748,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:749,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:752,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:754,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 756
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeColorNoGridGainMapGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:764,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:765,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:767,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:769,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:773,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:776,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:778,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:780,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 785
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifDecoderReset
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeUnsupportedVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:789,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:792,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:794,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:796,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataUnsupportedWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:806,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:809,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:811,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, ExtraBytesAfterGainMapMetadataSupporterWriterVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:821,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:823,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:825,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:829,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:830,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:831,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidFtyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:838,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:840,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:842,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:846,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:847,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:848,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeWrongAltr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:858,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:860,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:862,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, DecodeInvalidGamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - numerator
    - ','
    - denominator
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: EXPECT_FRACTION_NEAR
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FRACTION_NEAR(numerator, denominator, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:876,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:877,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:879,1
    - Dst: swap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' new_alternate'
    - ' gain_map'
    argTypes:
    - avifImage
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: avif::SwapBaseAndAlternate
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 6
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: "void SwapBaseAndAlternate(const avifImage& new_alternate,\n                                 avifGainMap&
      gain_map)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:901,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:903,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:907,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:909,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:910,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:911,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:912,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:913,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:917,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:919,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:920,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:923,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:924,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:928,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:935,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:936,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:939,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:941,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:944,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:945,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:946,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:947,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:949,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:954,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:964,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:965,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:967,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:969,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:973,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:976,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:977,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:980,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:981,1
    - Dst: std::ofstream
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:983,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 990
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - avifResultToString
    - std::ofstream
    - avif::testutil::Encode
    - ASSERT_GT
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - avifImageScale
    - std::string
    - avif::testutil::DecodeFile
    - DecoderPtr::get
    - ImagePtr::get
    - avif::SwapBaseAndAlternate
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateTestImages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1007,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1011,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1026,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1027,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1031,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1032,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1034,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 9
    argNames:
    - base_image
    - ' gain_map'
    - hdr_headroom
    - out_depth
    - out_transfer_characteristics
    - out_rgb_format
    - reference_image
    - min_psnr
    - max_psnr
    argTypes:
    - avifImage*
    - avifGainMap
    - float
    - int
    - avifTransferCharacteristics
    - avifRGBFormat
    - avifImage*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1048
    functionName: avif::ToneMapImageAndCompareToReference
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 9
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LE
    - avifResultToString
    - ImagePtr::get
    - SCOPED_TRACE
    - EXPECT_EQ
    - avifImageCreate
    - EXPECT_GE
    - avifImageApplyGainMap
    - std::to_string
    - avifImageRGBToYUV
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: "void ToneMapImageAndCompareToReference(\n    const avifImage* base_image,
      const avifGainMap& gain_map,\n    float hdr_headroom, int out_depth,\n    avifTransferCharacteristics
      out_transfer_characteristics,\n    avifRGBFormat out_rgb_format, const avifImage*
      reference_image,\n    float min_psnr, float max_psnr, float* psnr_out = nullptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1051,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1052,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1055,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1057,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1058,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1059,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1060,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1061,1
    - Dst: std::string::empty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1064,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1065,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1069,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1071,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1073,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1076,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1077,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1078,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1079,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1080,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1082,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1086
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avif::testutil::DecodeFile
    - std::string::empty
    - std::get<4>
    - std::get<6>
    - std::get<2>
    - std::string
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - std::string::c_str
    - avifDecoderReadFile
    - ImagePtr::get
    - ASSERT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(ToneMapTest, ToneMapImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1196,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1198,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1200,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1203,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1204,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1205,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1208,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1213,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1219,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1220,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - std::string::c_str
    - avifDecoderReadFile
    - static_cast<float>
    - avif::ToneMapImageAndCompareToReference
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(ToneMapTest, ToneMapImageSameHeadroom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1229,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1230,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1237,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1240,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1241,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1242,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1245,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1246,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1247,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1249,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1252,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1255,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1258,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1259,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1262,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1265,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1266,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1267,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1269,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1270,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1271,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1277,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1281,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1282,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1293,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1294,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1295,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1296,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1300
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, OpaqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1312,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1313,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1314,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1315,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1316,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1317,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1318,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1320,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1321,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1322,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1323,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1325,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1326,1
    - Dst: std::max<uint32_t>
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1327,1
    - Dst: std::round
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1328,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1330,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1335,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1336,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1337,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1340,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1341,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1350,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1351,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1352,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1356,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1358,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1359,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1360,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1369,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1371,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1372,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1376,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1380,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1381,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1382,1
    - Dst: avif::SwapBaseAndAlternate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1386,1
    - Dst: avif::ToneMapImageAndCompareToReference
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1388,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1389,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1390,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1399,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1403
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::max<uint32_t>
    - avif::testutil::DecodeFile
    - EXPECT_NEAR
    - std::round
    - std::get<4>
    - avifImageCreate
    - std::get<6>
    - std::get<2>
    - std::string
    - avif::SwapBaseAndAlternate
    - avifResultToString
    - std::get<5>
    - GetParam
    - std::get<3>
    - avifImageComputeGainMap
    - GainMapPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - EXPECT_EQ
    - avif::ToneMapImageAndCompareToReference
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CreateGainMapTest, Create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1479,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1480,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1481,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1487,1
    - Dst: avifRGBImageComputeGainMap
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1489,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1492,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1494,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1496
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - avifImageCreate
    - GainMapPtr::get
    - avifRGBImageComputeGainMap
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(GainMapTest, CreateGainMapConstantFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1502,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1506,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1507,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1509,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1518,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1523,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1524,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1529,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1530,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1532,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1547,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1548,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1552,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1553,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1555,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1559
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, AllSameExceptOneFewValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1565,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1586,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1587,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1590,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1594
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - SCOPED_TRACE
    - std::vector::data
    - EXPECT_NEAR
    - std::to_string
    - avifFindMinMaxWithoutOutliers
    linkageType: ''
    returnType: void
    signature: void TEST(FindMinMaxWithoutOutliers, Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1600,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifgainmaptest.cc:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1609
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifgainmaptest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmtest.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 62
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmtest.cc:114,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:121,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmtest.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 62
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmtest.cc:114,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:121,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmtest.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 62
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmtest.cc:114,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:121,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:19,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:20,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:21,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:22,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifavmtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:27,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:34,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:42,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:56,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifavmtest.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 62
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::GetPsnr
    - std::get<1>
    - EncoderPtr::get
    - std::get<3>
    - avif::testutil::FillImageGradient
    - DecoderPtr::get
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - EXPECT_GT
    - avifCodecName
    - std::get<4>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvmTest, EncodeDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifavmtest.cc:113,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifavmtest.cc:114,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifavmtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:121,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:122,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:127,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifavmtest.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:134,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifavmtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifavmtest.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifavmtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - avif::testutil::GetPsnr
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - EXPECT_GT
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvmTest, Av1StillWorksWhenAvmIsEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:19,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:27,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:31,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ASSERT_GT
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:47,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - avif::testutil::CreateImage
    - avifRGBImageSetDefaults
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, RGBImageCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:19,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:27,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:31,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ASSERT_GT
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:47,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - avif::testutil::CreateImage
    - avifRGBImageSetDefaults
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, RGBImageCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:19,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:27,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:31,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ASSERT_GT
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:47,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - avif::testutil::CreateImage
    - avifRGBImageSetDefaults
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, RGBImageCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:13,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:15,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:16,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:19,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:21,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:22,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifbasictest.cc:27,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:28,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifbasictest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:31,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifbasictest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - ASSERT_GT
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifbasictest.cc:47,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifbasictest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifbasictest.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifbasictest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - avif::testutil::CreateImage
    - avifRGBImageSetDefaults
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, RGBImageCleanup)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:26,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:28,1
    - Dst: std::numeric_limits<float>::max
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:31,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:34,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:50,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:60,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:67,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    - static_cast<float>
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - EXPECT_NEAR
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_NEAR
    - to_linear
    - std::numeric_limits<float>::max
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, RoundTrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:88,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:92,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - SCOPED_TRACE
    - static_cast<float>
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_GE
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, ToGammaHasCorrectShape)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:26,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:28,1
    - Dst: std::numeric_limits<float>::max
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:31,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:34,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:50,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:60,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:67,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    - static_cast<float>
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - EXPECT_NEAR
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_NEAR
    - to_linear
    - std::numeric_limits<float>::max
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, RoundTrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:88,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:92,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - SCOPED_TRACE
    - static_cast<float>
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_GE
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, ToGammaHasCorrectShape)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:26,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:28,1
    - Dst: std::numeric_limits<float>::max
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:31,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:34,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:50,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:60,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:67,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    - static_cast<float>
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - EXPECT_NEAR
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_NEAR
    - to_linear
    - std::numeric_limits<float>::max
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, RoundTrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:88,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:92,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - SCOPED_TRACE
    - static_cast<float>
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_GE
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, ToGammaHasCorrectShape)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:23,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:26,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:28,1
    - Dst: std::numeric_limits<float>::max
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:31,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:34,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:47,1
    - Dst: ASSERT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:48,1
    - Dst: to_linear
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:50,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:60,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:67,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    - static_cast<float>
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - EXPECT_NEAR
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_NEAR
    - to_linear
    - std::numeric_limits<float>::max
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, RoundTrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: std::to_string
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:85,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:88,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:92,1
    - Dst: to_gamma
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:102,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifcolrtest.cc:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrtest.cc
    functionUses: 0
    functionsReached:
    - SCOPED_TRACE
    - static_cast<float>
    - std::to_string
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - ASSERT_GE
    - to_gamma
    linkageType: ''
    returnType: void
    signature: void TEST(TransferCharacteristicsTest, ToGammaHasCorrectShape)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:48,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:59,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:94,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:97,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:100,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetMetadataExif
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - GetParam
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - size
    - EXPECT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMetadataTest, EncodeDecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:113,1
    - Dst: substr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' image'
    - ' file_name'
    argTypes:
    - avifImage
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: avif::WriteAndReadImage
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - size
    - c_str
    - std::string::c_str
    - avifJPEGWrite
    - testing::TempDir
    - substr
    - avifPNGWrite
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr WriteAndReadImage(const avifImage& image,\n                           const
      std::string& file_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:142,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:143,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:150,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:153,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:157,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:164,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - EXPECT_EQ
    - std::get<3>
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - std::get<0>
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ASSERT_TRUE
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(MetadataTest, ReadWriteReadCompare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:187,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:188,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:189,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:190,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:191,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, Compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:206,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:216,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderDestroy
    - std::string::c_str
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, DecoderParseICC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:224,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:225,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:229,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifButDefaultIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:247,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:256,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:267,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:268,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:276,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:286,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: avifImageExtractExifOrientationToIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSetExifOrientation
    - avifImageGetExifOrientationFromIrotImir
    - avifImageExtractExifOrientationToIrotImir
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, AllExifOrientations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:318,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:319,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:327,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:338,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:345,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:350,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:351,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientationAndForcedImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:361,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:369,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:373,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avif::WriteAndReadImage
    - avifImageSetMetadataExif
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, RotatedJpegBecauseOfIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:386,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifImageSetMetadataExif
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifIfdOffsetLoopingTo8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:408,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:409,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:410,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:411,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ASSERT_LT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExtendedXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:424,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:425,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:428,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:432,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:433,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, MultipleExtendedXMPAndAlternativeGUIDTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:455,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - c_str
    - avif::testutil::WriteImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - std::memchr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, XMPWithTrailingNullCharacter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:48,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:59,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:94,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:97,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:100,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetMetadataExif
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - GetParam
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - size
    - EXPECT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMetadataTest, EncodeDecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:113,1
    - Dst: substr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' image'
    - ' file_name'
    argTypes:
    - avifImage
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: avif::WriteAndReadImage
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 6
    functionsReached:
    - size
    - c_str
    - std::string::c_str
    - avifJPEGWrite
    - testing::TempDir
    - substr
    - avifPNGWrite
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr WriteAndReadImage(const avifImage& image,\n                           const
      std::string& file_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:142,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:143,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:150,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:153,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:157,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:164,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - EXPECT_EQ
    - std::get<3>
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - std::get<0>
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ASSERT_TRUE
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(MetadataTest, ReadWriteReadCompare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:187,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:188,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:189,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:190,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:191,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, Compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:206,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:216,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderDestroy
    - std::string::c_str
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, DecoderParseICC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:224,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:225,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:229,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifButDefaultIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:247,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:256,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:267,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:268,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:276,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:286,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: avifImageExtractExifOrientationToIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSetExifOrientation
    - avifImageGetExifOrientationFromIrotImir
    - avifImageExtractExifOrientationToIrotImir
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, AllExifOrientations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:318,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:319,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:327,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:338,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:345,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:350,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:351,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientationAndForcedImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:361,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:369,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:373,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avif::WriteAndReadImage
    - avifImageSetMetadataExif
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, RotatedJpegBecauseOfIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:386,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifImageSetMetadataExif
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifIfdOffsetLoopingTo8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:408,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:409,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:410,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:411,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ASSERT_LT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExtendedXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:424,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:425,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:428,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:432,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:433,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, MultipleExtendedXMPAndAlternativeGUIDTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:455,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - c_str
    - avif::testutil::WriteImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - std::memchr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, XMPWithTrailingNullCharacter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:48,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:59,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:94,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:97,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:100,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetMetadataExif
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - GetParam
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - size
    - EXPECT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMetadataTest, EncodeDecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:113,1
    - Dst: substr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' image'
    - ' file_name'
    argTypes:
    - avifImage
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: avif::WriteAndReadImage
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 12
    functionsReached:
    - size
    - c_str
    - std::string::c_str
    - avifJPEGWrite
    - testing::TempDir
    - substr
    - avifPNGWrite
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr WriteAndReadImage(const avifImage& image,\n                           const
      std::string& file_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:142,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:143,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:150,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:153,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:157,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:164,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - EXPECT_EQ
    - std::get<3>
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - std::get<0>
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ASSERT_TRUE
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(MetadataTest, ReadWriteReadCompare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:187,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:188,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:189,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:190,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:191,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, Compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:206,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:216,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderDestroy
    - std::string::c_str
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, DecoderParseICC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:224,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:225,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:229,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifButDefaultIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:247,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:256,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:267,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:268,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:276,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:286,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: avifImageExtractExifOrientationToIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSetExifOrientation
    - avifImageGetExifOrientationFromIrotImir
    - avifImageExtractExifOrientationToIrotImir
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, AllExifOrientations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:318,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:319,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:327,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:338,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:345,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:350,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:351,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientationAndForcedImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:361,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:369,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:373,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avif::WriteAndReadImage
    - avifImageSetMetadataExif
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, RotatedJpegBecauseOfIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:386,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifImageSetMetadataExif
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifIfdOffsetLoopingTo8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:408,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:409,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:410,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:411,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ASSERT_LT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExtendedXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:424,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:425,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:428,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:432,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:433,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, MultipleExtendedXMPAndAlternativeGUIDTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:455,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - c_str
    - avif::testutil::WriteImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - std::memchr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, XMPWithTrailingNullCharacter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:41,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:42,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:43,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:48,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:51,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:59,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:60,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:80,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:93,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:94,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:96,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:97,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:99,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:100,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetMetadataExif
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - GetParam
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - size
    - EXPECT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMetadataTest, EncodeDecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:113,1
    - Dst: substr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:114,1
    - Dst: avifPNGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:115,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:121,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' image'
    - ' file_name'
    argTypes:
    - avifImage
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: avif::WriteAndReadImage
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 18
    functionsReached:
    - size
    - c_str
    - std::string::c_str
    - avifJPEGWrite
    - testing::TempDir
    - substr
    - avifPNGWrite
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: ImagePtr
    signature: "ImagePtr WriteAndReadImage(const avifImage& image,\n                           const
      std::string& file_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:134,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:135,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:136,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:137,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:142,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:143,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:146,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:150,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:153,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:157,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:164,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:170,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:171,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:173,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - EXPECT_EQ
    - std::get<3>
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - std::get<0>
    - std::get<2>
    - ASSERT_NE
    - GetParam
    - ASSERT_TRUE
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(MetadataTest, ReadWriteReadCompare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:187,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:188,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:189,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:190,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:191,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:195,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, Compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:206,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:207,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:210,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:216,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - avifDecoderDestroy
    - std::string::c_str
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, DecoderParseICC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:224,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:225,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:229,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:233,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:234,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifButDefaultIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:246,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:247,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:254,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:256,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:263,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:266,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:267,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:268,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:276,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:286,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: avifImageExtractExifOrientationToIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifSetExifOrientation
    - avifImageGetExifOrientationFromIrotImir
    - avifImageExtractExifOrientationToIrotImir
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, AllExifOrientations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:318,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:319,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:323,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:327,1
    - Dst: avifRWDataSet
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:334,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:337,1
    - Dst: avif::testutil::Decode
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:338,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:345,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:350,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:351,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataSet
    - avif::testutil::Encode
    - EXPECT_EQ
    - avif::testutil::Decode
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - avifSetExifOrientation
    - ASSERT_NE
    - EXPECT_FALSE
    - ImagePtr::get
    - EXPECT_GT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifOrientationAndForcedImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:361,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:369,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:373,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avif::WriteAndReadImage
    - avifImageSetMetadataExif
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, RotatedJpegBecauseOfIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:386,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:398,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifImageSetMetadataExif
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExifIfdOffsetLoopingTo8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:408,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:409,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:410,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:411,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - ASSERT_LT
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, ExtendedXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:424,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:425,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:428,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:429,1
    - Dst: avif::WriteAndReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:432,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:433,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - avif::WriteAndReadImage
    - avif::testutil::AreByteSequencesEqual
    - ASSERT_NE
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, MultipleExtendedXMPAndAlternativeGUIDTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:442,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:443,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:444,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:449,1
    - Dst: avif::testutil::WriteImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:451,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:452,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: testing::TempDir
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:454,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:455,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    - Dst: std::memchr
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - c_str
    - avif::testutil::WriteImage
    - testing::TempDir
    - ASSERT_NE
    - ImagePtr::get
    - std::memchr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(MetadataTest, XMPWithTrailingNullCharacter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:468,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifmetadatatest.cc:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifmetadatatest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:31,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:55,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:91,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:95,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:106,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:127,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:149,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:160,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:163,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamFinishWrite
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - avifRWStreamWriteU64
    - avifROStreamReadBitsU8
    - avifRWStreamFinishBox
    - avifRWStreamOffset
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - std::numeric_limits<uint32_t>::max
    - std::vector::size
    - avifROStreamSkipBits
    - avifRWStreamStart
    - std::vector::data
    - avifROStreamRead
    - EXPECT_NE
    - avifROStreamStart
    - avifRWStreamWriteBox
    - avifDiagnosticsClearError
    - avifROStreamReadBitsU32
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWrite
    - EXPECT_FALSE
    - avifROStreamReadU64
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    - avifRWStreamWriteFullBox
    - EXPECT_EQ
    - avifRWStreamWriteZeros
    - avifROStreamHasBytesLeft
    - std::equal
    - avifROStreamReadU16
    - avifROStreamCurrent
    - avifROStreamReadU32
    - avifRWStreamWriteU32
    - avifROStreamReadString
    - avifROStreamRemainingBytes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:174,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifROStreamOffset
    - avifDiagnosticsClearError
    - avifROStreamSkipBits
    - avifROStreamReadBitsU32
    - avifROStreamSkip
    - EXPECT_TRUE
    - avifROStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, SkipBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBits
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, WriteBitsLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWrite
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, OverflowChecksInMakeRoom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:31,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:55,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:91,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:95,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:106,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:127,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:149,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:160,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:163,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamFinishWrite
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - avifRWStreamWriteU64
    - avifROStreamReadBitsU8
    - avifRWStreamFinishBox
    - avifRWStreamOffset
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - std::numeric_limits<uint32_t>::max
    - std::vector::size
    - avifROStreamSkipBits
    - avifRWStreamStart
    - std::vector::data
    - avifROStreamRead
    - EXPECT_NE
    - avifROStreamStart
    - avifRWStreamWriteBox
    - avifDiagnosticsClearError
    - avifROStreamReadBitsU32
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWrite
    - EXPECT_FALSE
    - avifROStreamReadU64
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    - avifRWStreamWriteFullBox
    - EXPECT_EQ
    - avifRWStreamWriteZeros
    - avifROStreamHasBytesLeft
    - std::equal
    - avifROStreamReadU16
    - avifROStreamCurrent
    - avifROStreamReadU32
    - avifRWStreamWriteU32
    - avifROStreamReadString
    - avifROStreamRemainingBytes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:174,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifROStreamOffset
    - avifDiagnosticsClearError
    - avifROStreamSkipBits
    - avifROStreamReadBitsU32
    - avifROStreamSkip
    - EXPECT_TRUE
    - avifROStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, SkipBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBits
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, WriteBitsLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWrite
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, OverflowChecksInMakeRoom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:31,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:55,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:91,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:95,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:106,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:127,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:149,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:160,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:163,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamFinishWrite
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - avifRWStreamWriteU64
    - avifROStreamReadBitsU8
    - avifRWStreamFinishBox
    - avifRWStreamOffset
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - std::numeric_limits<uint32_t>::max
    - std::vector::size
    - avifROStreamSkipBits
    - avifRWStreamStart
    - std::vector::data
    - avifROStreamRead
    - EXPECT_NE
    - avifROStreamStart
    - avifRWStreamWriteBox
    - avifDiagnosticsClearError
    - avifROStreamReadBitsU32
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWrite
    - EXPECT_FALSE
    - avifROStreamReadU64
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    - avifRWStreamWriteFullBox
    - EXPECT_EQ
    - avifRWStreamWriteZeros
    - avifROStreamHasBytesLeft
    - std::equal
    - avifROStreamReadU16
    - avifROStreamCurrent
    - avifROStreamReadU32
    - avifRWStreamWriteU32
    - avifROStreamReadString
    - avifROStreamRemainingBytes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:174,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifROStreamOffset
    - avifDiagnosticsClearError
    - avifROStreamSkipBits
    - avifROStreamReadBitsU32
    - avifROStreamSkip
    - EXPECT_TRUE
    - avifROStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, SkipBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBits
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, WriteBitsLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWrite
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, OverflowChecksInMakeRoom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:31,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:53,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:55,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:67,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:78,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:88,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:91,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:95,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:106,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:108,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:112,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:114,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: avifROStreamRead
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:127,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:149,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:160,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:163,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamFinishWrite
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - avifRWStreamWriteU64
    - avifROStreamReadBitsU8
    - avifRWStreamFinishBox
    - avifRWStreamOffset
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - std::numeric_limits<uint32_t>::max
    - std::vector::size
    - avifROStreamSkipBits
    - avifRWStreamStart
    - std::vector::data
    - avifROStreamRead
    - EXPECT_NE
    - avifROStreamStart
    - avifRWStreamWriteBox
    - avifDiagnosticsClearError
    - avifROStreamReadBitsU32
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWrite
    - EXPECT_FALSE
    - avifROStreamReadU64
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    - avifRWStreamWriteFullBox
    - EXPECT_EQ
    - avifRWStreamWriteZeros
    - avifROStreamHasBytesLeft
    - std::equal
    - avifROStreamReadU16
    - avifROStreamCurrent
    - avifROStreamReadU32
    - avifRWStreamWriteU32
    - avifROStreamReadString
    - avifROStreamRemainingBytes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:174,1
    - Dst: avifROStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifROStreamOffset
    - avifDiagnosticsClearError
    - avifROStreamSkipBits
    - avifROStreamReadBitsU32
    - avifROStreamSkip
    - EXPECT_TRUE
    - avifROStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, SkipBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBits
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, WriteBitsLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/tests/gtest/avifstreamtest.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifstreamtest.cc
    functionUses: 0
    functionsReached:
    - avifRWStreamWrite
    - EXPECT_EQ
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void TEST(StreamTest, OverflowChecksInMakeRoom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpixitest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:24,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifpixitest.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:71,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpixitest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreImagesEqual
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, SameOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:79,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:84,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, ExtendedPixiWorksEvenWithoutCMakeFlagOn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifHeaderFormatTest, ABI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpixitest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:24,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifpixitest.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:71,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpixitest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreImagesEqual
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, SameOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:79,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:84,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, ExtendedPixiWorksEvenWithoutCMakeFlagOn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifHeaderFormatTest, ABI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpixitest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:24,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifpixitest.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:71,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpixitest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreImagesEqual
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, SameOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:79,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:84,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, ExtendedPixiWorksEvenWithoutCMakeFlagOn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifHeaderFormatTest, ABI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpixitest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:24,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:44,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifpixitest.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:52,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:71,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifpixitest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - EncoderPtr::get
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreImagesEqual
    - avifEncoderWrite
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, SameOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpixitest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:79,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:84,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpixitest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderReadMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPixiTest, ExtendedPixiWorksEvenWithoutCMakeFlagOn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpixitest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpixitest.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifHeaderFormatTest, ABI)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifpixitest.cc:116,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifpixitest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifpixitest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecoderInput*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:35,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:41,1
    - Dst: std::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: avif::testutil::AvifIoRead
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecoderInput*>
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifIoRead(struct avifIO* io, uint32_t read_flags, uint64_t
      offset,\n                      size_t size, avifROData* out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:58,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:59,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:68,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:69,1
    - Dst: avifDecoderRead
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:88,1
    - Dst: const_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:96,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - give_size_hint
    - content_to_decode
    - use_nth_image_api
    argTypes:
    - std::string
    - bool
    - bool
    - avifImageContentTypeFlags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: avif::testutil::DecodeIncr
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - avif::testutil::DecodeIncrementally
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - ASSERT_FALSE
    - avifDecoderSetIO
    - const_cast<uint8_t*>
    - avifDecoderRead
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void DecodeIncr(const std::string& arbitrary_bytes, bool is_persistent,\n
      \               bool give_size_hint,\n                avifImageContentTypeFlags
      content_to_decode,\n                bool use_nth_image_api)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:46,1
    - Dst: srand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:54,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:65,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - avifImagePlaneRowBytes
    - std::get<9>
    - std::get<4>
    - rand
    - std::get<6>
    - std::get<8>
    - std::get<2>
    - srand
    - avifImageYUVToRGB
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - ImagePtr::get
    - avifImagePlane
    - ASSERT_EQ
    - std::get<0>
    - avifImagePlaneWidth
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(YUVToRGBThreadingTest, TestIdentical)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:46,1
    - Dst: srand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:54,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:65,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - avifImagePlaneRowBytes
    - std::get<9>
    - std::get<4>
    - rand
    - std::get<6>
    - std::get<8>
    - std::get<2>
    - srand
    - avifImageYUVToRGB
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - ImagePtr::get
    - avifImagePlane
    - ASSERT_EQ
    - std::get<0>
    - avifImagePlaneWidth
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(YUVToRGBThreadingTest, TestIdentical)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:46,1
    - Dst: srand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:54,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:65,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - avifImagePlaneRowBytes
    - std::get<9>
    - std::get<4>
    - rand
    - std::get<6>
    - std::get<8>
    - std::get<2>
    - srand
    - avifImageYUVToRGB
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - ImagePtr::get
    - avifImagePlane
    - ASSERT_EQ
    - std::get<0>
    - avifImagePlaneWidth
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(YUVToRGBThreadingTest, TestIdentical)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:32,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:33,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:34,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:35,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:36,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:37,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:38,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:46,1
    - Dst: srand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:53,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:54,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:57,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:60,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:61,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:65,1
    - Dst: rand
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:67,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:77,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - avifImagePlaneRowBytes
    - std::get<9>
    - std::get<4>
    - rand
    - std::get<6>
    - std::get<8>
    - std::get<2>
    - srand
    - avifImageYUVToRGB
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - ImagePtr::get
    - avifImagePlane
    - ASSERT_EQ
    - std::get<0>
    - avifImagePlaneWidth
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(YUVToRGBThreadingTest, TestIdentical)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:50,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifminitest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:58,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifminitest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:70,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:76,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:102,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:119,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:121,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 130
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifminitest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImageSetMetadataExif
    - std::get<9>
    - std::get<4>
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - std::get<6>
    - std::get<8>
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - avif::testutil::Encode
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - EXPECT_LT
    - size
    - EXPECT_EQ
    - avifGetExifTiffHeaderOffset
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - std::get<10>
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMinimizedImageBoxTest, All)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:50,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifminitest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:58,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifminitest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:70,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:76,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:102,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:119,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:121,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 130
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifminitest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImageSetMetadataExif
    - std::get<9>
    - std::get<4>
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - std::get<6>
    - std::get<8>
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - avif::testutil::Encode
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - EXPECT_LT
    - size
    - EXPECT_EQ
    - avifGetExifTiffHeaderOffset
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - std::get<10>
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMinimizedImageBoxTest, All)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:50,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifminitest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:58,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifminitest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:70,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:76,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:102,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:119,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:121,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 130
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifminitest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImageSetMetadataExif
    - std::get<9>
    - std::get<4>
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - std::get<6>
    - std::get<8>
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - avif::testutil::Encode
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - EXPECT_LT
    - size
    - EXPECT_EQ
    - avifGetExifTiffHeaderOffset
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - std::get<10>
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMinimizedImageBoxTest, All)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:23,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:24,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:25,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:26,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:27,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:28,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:29,1
    - Dst: std::get<7>
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:30,1
    - Dst: std::get<8>
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:31,1
    - Dst: std::get<9>
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:32,1
    - Dst: std::get<10>
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifminitest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:38,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:40,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:46,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:50,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/tests/gtest/avifminitest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:52,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avifminitest.cc:57,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avifminitest.cc:58,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avifminitest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:70,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifminitest.cc:72,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:76,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifminitest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:95,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:102,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifminitest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:119,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifminitest.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifminitest.cc:121,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifminitest.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifminitest.cc:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 130
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifminitest.cc
    functionUses: 0
    functionsReached:
    - std::get<7>
    - avifImageSetMetadataExif
    - std::get<9>
    - std::get<4>
    - data
    - avif::testutil::FillImageGradient
    - avifImageSetProfileICC
    - std::get<6>
    - std::get<8>
    - avifGainMapCreate
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageSetMetadataXMP
    - avif::testutil::Encode
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - EXPECT_LT
    - size
    - EXPECT_EQ
    - avifGetExifTiffHeaderOffset
    - DecoderPtr::get
    - avifEncoderWrite
    - std::get<0>
    - std::get<10>
    - ASSERT_NE
    - std::get<1>
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AvifMinimizedImageBoxTest, All)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:19,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:57,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 88
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifkeyframetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifDecoderParse
    - avifDecoderSetIOFile
    - EXPECT_FALSE
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - avifDecoderNearestKeyframe
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::FillImagePlain
    - EXPECT_GT
    - avifDecoderIsKeyframe
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(KeyframeTest, Decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:19,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:57,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 88
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifkeyframetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifDecoderParse
    - avifDecoderSetIOFile
    - EXPECT_FALSE
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - avifDecoderNearestKeyframe
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::FillImagePlain
    - EXPECT_GT
    - avifDecoderIsKeyframe
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(KeyframeTest, Decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:19,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:57,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 88
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifkeyframetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifDecoderParse
    - avifDecoderSetIOFile
    - EXPECT_FALSE
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - avifDecoderNearestKeyframe
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::FillImagePlain
    - EXPECT_GT
    - avifDecoderIsKeyframe
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(KeyframeTest, Decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:19,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:32,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:34,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:36,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:37,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:57,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 88
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifkeyframetest.cc
    functionUses: 0
    functionsReached:
    - c_str
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifDecoderParse
    - avifDecoderSetIOFile
    - EXPECT_FALSE
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - avifDecoderNearestKeyframe
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::FillImagePlain
    - EXPECT_GT
    - avifDecoderIsKeyframe
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(KeyframeTest, Decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:94,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifkeyframetest.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifkeyframetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:23,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:24,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:29,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:33,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:49,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: std::array::data
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:51,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:72,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - ' encoder_io_stats'
    - quality
    - qualityAlpha
    - translucent
    argTypes:
    - avifIOStats
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: avif::GetIoStatsFromEncode
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EncoderPtr::get
    - EXPECT_EQ
    - avifDecoderSetIOMemory
    - avifImageSetViewRect
    - avif::testutil::ReadImage
    - avifEncoderAddImage
    - AVIF_CHECK
    - DecoderPtr::get
    - std::array::data
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: bool
    signature: "bool GetIoStatsFromEncode(avifIOStats& encoder_io_stats, int quality,\n
      \                         int qualityAlpha, bool translucent,\n                          int
      num_frames = 1, bool encode_as_grid = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - EXPECT_EQ
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, ColorObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AlphaObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:110,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AnimationObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:123,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:124,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:125,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridAnimation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:23,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:24,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:29,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:33,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:49,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: std::array::data
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:51,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:72,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - ' encoder_io_stats'
    - quality
    - qualityAlpha
    - translucent
    argTypes:
    - avifIOStats
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: avif::GetIoStatsFromEncode
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 5
    functionsReached:
    - EncoderPtr::get
    - EXPECT_EQ
    - avifDecoderSetIOMemory
    - avifImageSetViewRect
    - avif::testutil::ReadImage
    - avifEncoderAddImage
    - AVIF_CHECK
    - DecoderPtr::get
    - std::array::data
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: bool
    signature: "bool GetIoStatsFromEncode(avifIOStats& encoder_io_stats, int quality,\n
      \                         int qualityAlpha, bool translucent,\n                          int
      num_frames = 1, bool encode_as_grid = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - EXPECT_EQ
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, ColorObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AlphaObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:110,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AnimationObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:123,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:124,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:125,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridAnimation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:23,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:24,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:29,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:33,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:49,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: std::array::data
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:51,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:72,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - ' encoder_io_stats'
    - quality
    - qualityAlpha
    - translucent
    argTypes:
    - avifIOStats
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: avif::GetIoStatsFromEncode
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 10
    functionsReached:
    - EncoderPtr::get
    - EXPECT_EQ
    - avifDecoderSetIOMemory
    - avifImageSetViewRect
    - avif::testutil::ReadImage
    - avifEncoderAddImage
    - AVIF_CHECK
    - DecoderPtr::get
    - std::array::data
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: bool
    signature: "bool GetIoStatsFromEncode(avifIOStats& encoder_io_stats, int quality,\n
      \                         int qualityAlpha, bool translucent,\n                          int
      num_frames = 1, bool encode_as_grid = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - EXPECT_EQ
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, ColorObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AlphaObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:110,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AnimationObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:123,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:124,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:125,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridAnimation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:23,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:24,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:29,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:33,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:41,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:49,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:50,1
    - Dst: std::array::data
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:51,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:55,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:67,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:72,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:73,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - ' encoder_io_stats'
    - quality
    - qualityAlpha
    - translucent
    argTypes:
    - avifIOStats
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: avif::GetIoStatsFromEncode
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 15
    functionsReached:
    - EncoderPtr::get
    - EXPECT_EQ
    - avifDecoderSetIOMemory
    - avifImageSetViewRect
    - avif::testutil::ReadImage
    - avifEncoderAddImage
    - AVIF_CHECK
    - DecoderPtr::get
    - std::array::data
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: bool
    signature: "bool GetIoStatsFromEncode(avifIOStats& encoder_io_stats, int quality,\n
      \                         int qualityAlpha, bool translucent,\n                          int
      num_frames = 1, bool encode_as_grid = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:85,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - EXPECT_EQ
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, ColorObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:94,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:96,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AlphaObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:102,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:110,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, AnimationObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:120,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:123,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:124,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:125,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ASSERT_TRUE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridObuSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    - Dst: avif::GetIoStatsFromEncode
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::GetIoStatsFromEncode
    linkageType: ''
    returnType: void
    signature: void TEST(IoStatsTest, GridAnimation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:143,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifiostatstest.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifiostatstest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthEqualToInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthParseNextEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, ZeroImageContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, OnlySampleTransformContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthEqualToInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthParseNextEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, ZeroImageContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, OnlySampleTransformContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthEqualToInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthParseNextEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, ZeroImageContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, OnlySampleTransformContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:37,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:43,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - avifEncoderWrite
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthEqualToInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:59,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:64,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, SampleTransformDepthParseNextEqual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, ZeroImageContentToDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:94,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifDecoderReadFile
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AltrTest, OnlySampleTransformContentToDecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:109,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifaltrtest.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifaltrtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:37,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:42,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:46,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 55
    functionName: avif::TestAllocation
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - avifImageAllocatePlanes
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void TestAllocation(uint32_t width, uint32_t height, uint32_t depth,\n
      \                   avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:66,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:67,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:69,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:70,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, Allocate1GB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_AllocationTest, OutOfMemory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:99,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: avif::TestEncoding
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - reinterpret_cast<uint8_t*>
    - avifEncoderWrite
    - avifImageUsesU16
    - std::vector::data
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void TestEncoding(uint32_t width, uint32_t height, uint32_t depth,\n
      \                 avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:153,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, ReasonableValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:165,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_EncodingTest, MaximumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:171,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:172,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:173,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:174,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:175,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:185,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    - Dst: std::numeric_limits<decltype(avifImage::depth)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - std::numeric_limits<decltype(avifImage::depth)>::max
    - avif::TestEncoding
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:203,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:204,1
    - Dst: avifFree
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avifFree
    - EXPECT_EQ
    - std::numeric_limits<size_t>::max
    - avifAlloc
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifAllocTest, Extremes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:37,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:42,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:46,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 55
    functionName: avif::TestAllocation
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 6
    functionsReached:
    - EXPECT_EQ
    - avifImageAllocatePlanes
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void TestAllocation(uint32_t width, uint32_t height, uint32_t depth,\n
      \                   avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:66,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:67,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:69,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:70,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, Allocate1GB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_AllocationTest, OutOfMemory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:99,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: avif::TestEncoding
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - reinterpret_cast<uint8_t*>
    - avifEncoderWrite
    - avifImageUsesU16
    - std::vector::data
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void TestEncoding(uint32_t width, uint32_t height, uint32_t depth,\n
      \                 avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:153,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, ReasonableValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:165,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_EncodingTest, MaximumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:171,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:172,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:173,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:174,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:175,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:185,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    - Dst: std::numeric_limits<decltype(avifImage::depth)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - std::numeric_limits<decltype(avifImage::depth)>::max
    - avif::TestEncoding
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:203,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:204,1
    - Dst: avifFree
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avifFree
    - EXPECT_EQ
    - std::numeric_limits<size_t>::max
    - avifAlloc
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifAllocTest, Extremes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:37,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:42,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:46,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 55
    functionName: avif::TestAllocation
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 12
    functionsReached:
    - EXPECT_EQ
    - avifImageAllocatePlanes
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void TestAllocation(uint32_t width, uint32_t height, uint32_t depth,\n
      \                   avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:66,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:67,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:69,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:70,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, Allocate1GB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_AllocationTest, OutOfMemory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:99,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: avif::TestEncoding
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 8
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - reinterpret_cast<uint8_t*>
    - avifEncoderWrite
    - avifImageUsesU16
    - std::vector::data
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void TestEncoding(uint32_t width, uint32_t height, uint32_t depth,\n
      \                 avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:153,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, ReasonableValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:165,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_EncodingTest, MaximumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:171,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:172,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:173,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:174,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:175,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:185,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    - Dst: std::numeric_limits<decltype(avifImage::depth)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - std::numeric_limits<decltype(avifImage::depth)>::max
    - avif::TestEncoding
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:203,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:204,1
    - Dst: avifFree
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avifFree
    - EXPECT_EQ
    - std::numeric_limits<size_t>::max
    - avifAlloc
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifAllocTest, Extremes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:30,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:37,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:42,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:46,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 55
    functionName: avif::TestAllocation
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 18
    functionsReached:
    - EXPECT_EQ
    - avifImageAllocatePlanes
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void TestAllocation(uint32_t width, uint32_t height, uint32_t depth,\n
      \                   avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:66,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:67,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:69,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:70,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, Allocate1GB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:80,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:87,1
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:91,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - avif::TestAllocation
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_AllocationTest, OutOfMemory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:99,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:113,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:117,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:139,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - expected_result
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: avif::TestEncoding
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 12
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - reinterpret_cast<uint8_t*>
    - avifEncoderWrite
    - avifImageUsesU16
    - std::vector::data
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void TestEncoding(uint32_t width, uint32_t height, uint32_t depth,\n
      \                 avifResult expected_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestAllocation
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestAllocation
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:153,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, ReasonableValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:165,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(DISABLED_EncodingTest, MaximumValidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:171,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:172,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:173,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:174,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:175,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncoding
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MinimumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:180,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:182,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::width)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:184,1
    - Dst: std::numeric_limits<decltype(avifImage::height)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:185,1
    - Dst: avif::TestEncoding
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    - Dst: std::numeric_limits<decltype(avifImage::depth)>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<decltype(avifImage::width)>::max
    - std::numeric_limits<decltype(avifImage::depth)>::max
    - avif::TestEncoding
    - std::numeric_limits<decltype(avifImage::height)>::max
    linkageType: ''
    returnType: void
    signature: void TEST(EncodingTest, MaximumInvalidDimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:203,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:204,1
    - Dst: avifFree
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: avifAlloc
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/libavif/tests/gtest/avifallocationtest.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifallocationtest.cc
    functionUses: 0
    functionsReached:
    - avifFree
    - EXPECT_EQ
    - std::numeric_limits<size_t>::max
    - avifAlloc
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AvifAllocTest, Extremes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - avifDecoderNextImage
    - avif::testutil::Av1DecoderAvailable
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, SingleWhitePixel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:38,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MdatSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:58,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:61,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MetaSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, FtypSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:101,1
    - Dst: std::memset
      Src: /src/libavif/tests/gtest/avifsize0test.cc:103,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:109,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - std::memcpy
    - std::memset
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, UnknownTopLevelBoxSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - avifDecoderNextImage
    - avif::testutil::Av1DecoderAvailable
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, SingleWhitePixel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:38,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MdatSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:58,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:61,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MetaSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, FtypSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:101,1
    - Dst: std::memset
      Src: /src/libavif/tests/gtest/avifsize0test.cc:103,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:109,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - std::memcpy
    - std::memset
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, UnknownTopLevelBoxSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - avifDecoderNextImage
    - avif::testutil::Av1DecoderAvailable
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, SingleWhitePixel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:38,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MdatSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:58,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:61,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MetaSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, FtypSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:101,1
    - Dst: std::memset
      Src: /src/libavif/tests/gtest/avifsize0test.cc:103,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:109,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - std::memcpy
    - std::memset
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, UnknownTopLevelBoxSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifsize0test.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:28,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - c_str
    - EXPECT_EQ
    - avifDecoderNextImage
    - avif::testutil::Av1DecoderAvailable
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, SingleWhitePixel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:36,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:38,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:40,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:48,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MdatSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifsize0test.cc:58,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifsize0test.cc:60,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:61,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:74,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsize0test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::search
    - EXPECT_EQ
    - DecoderPtr::get
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avif::testutil::Av1DecoderAvailable
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, MetaSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, FtypSize0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadFile
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifsize0test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/tests/gtest/avifsize0test.cc:99,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:101,1
    - Dst: std::memset
      Src: /src/libavif/tests/gtest/avifsize0test.cc:103,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifsize0test.cc:105,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsize0test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:109,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsize0test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRWDataRealloc
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - avif::testutil::ReadFile
    - std::string
    - ASSERT_NE
    - avifDecoderParse
    - std::memcpy
    - std::memset
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, UnknownTopLevelBoxSize0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifsize0test.cc:121,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifsize0test.cc:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifsize0test.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - std::vector<uint8_t>
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:51,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:73,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Serialise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:110,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, TooManyUniqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:127,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:131,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, ManyTimesTheSameProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - std::vector<uint8_t>
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:51,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:73,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Serialise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:110,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, TooManyUniqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:127,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:131,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, ManyTimesTheSameProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - std::vector<uint8_t>
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:51,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:73,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Serialise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:110,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, TooManyUniqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:127,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:131,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, ManyTimesTheSameProperty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:25,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:27,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:32,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - std::vector<uint8_t>
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:51,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:58,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:61,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:65,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: avifImageAddUUIDProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:68,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:69,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:73,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:76,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - std::vector::size
    - avifEncoderWrite
    - std::vector<uint8_t>
    - avifDecoderSetIOMemory
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - std::vector::data
    - std::string
    - ASSERT_NE
    - avifImageAddUUIDProperty
    - ImagePtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, Serialise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:110,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, TooManyUniqueProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:127,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:131,1
    - Dst: avifImageAddOpaqueProperty
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - avifImageAddOpaqueProperty
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(AvifPropertyTest, ManyTimesTheSameProperty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:149,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifpropertytest.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifpropertytest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:21,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - v
    - relative_tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: avif::TestRoundTrip
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - avifDoubleToSignedFraction
    - ASSERT_TRUE
    - EXPECT_NEAR
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TestRoundTrip(double v, double relative_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:47,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:48,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:49,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:50,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:51,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:52,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:53,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:54,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:55,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:56,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:57,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:58,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:59,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:60,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:65,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:66,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: std::sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:73,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:74,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:75,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - avif::TestRoundTrip
    - exp
    - sqrt
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, RoundTrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:93,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:104,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifference)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:120,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifferenceSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:140,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, BadValues)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:21,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - v
    - relative_tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: avif::TestRoundTrip
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 1
    functionsReached:
    - avifDoubleToSignedFraction
    - ASSERT_TRUE
    - EXPECT_NEAR
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TestRoundTrip(double v, double relative_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:47,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:48,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:49,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:50,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:51,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:52,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:53,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:54,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:55,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:56,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:57,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:58,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:59,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:60,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:65,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:66,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: std::sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:73,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:74,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:75,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - avif::TestRoundTrip
    - exp
    - sqrt
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, RoundTrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:93,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:104,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifference)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:120,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifferenceSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:140,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, BadValues)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:21,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - v
    - relative_tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: avif::TestRoundTrip
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 2
    functionsReached:
    - avifDoubleToSignedFraction
    - ASSERT_TRUE
    - EXPECT_NEAR
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TestRoundTrip(double v, double relative_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:47,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:48,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:49,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:50,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:51,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:52,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:53,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:54,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:55,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:56,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:57,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:58,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:59,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:60,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:65,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:66,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: std::sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:73,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:74,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:75,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - avif::TestRoundTrip
    - exp
    - sqrt
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, RoundTrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:93,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:104,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifference)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:120,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifferenceSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:140,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, BadValues)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:18,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:21,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifutilstest.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - v
    - relative_tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: avif::TestRoundTrip
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 3
    functionsReached:
    - avifDoubleToSignedFraction
    - ASSERT_TRUE
    - EXPECT_NEAR
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TestRoundTrip(double v, double relative_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:47,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:48,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:49,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:50,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:51,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:52,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:53,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:54,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:55,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:56,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:57,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:58,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:59,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:60,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:65,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:66,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:67,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:68,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:69,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: exp
      Src: /src/libavif/tests/gtest/avifutilstest.cc:70,1
    - Dst: std::sqrt
      Src: /src/libavif/tests/gtest/avifutilstest.cc:73,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:74,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:75,1
    - Dst: avif::TestRoundTrip
      Src: /src/libavif/tests/gtest/avifutilstest.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - avif::TestRoundTrip
    - exp
    - sqrt
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, RoundTrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:91,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:93,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:104,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifference)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:118,1
    - Dst: abs
      Src: /src/libavif/tests/gtest/avifutilstest.cc:120,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:131,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifutilstest.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - EXPECT_LT
    - avifDoubleToUnsignedFraction
    - abs
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, MaxDifferenceSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifutilstest.cc:140,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/tests/gtest/avifutilstest.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifutilstest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifDoubleToUnsignedFraction
    linkageType: ''
    returnType: void
    signature: void TEST(ToFractionTest, BadValues)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:18,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:25,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - ASSERT_TRUE
    - avifCleanApertureBoxFromCropRect
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImirNonEssential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClopIrotImor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:101,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - ImagePtr::get
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::string
    - ASSERT_NE
    - avif::testutil::AreImagesSimilar
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, IrotAlphaEncodedDecoded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:149,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:159,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:167,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:169,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avifDecoderReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, AlphaIrotNoIrot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:18,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:25,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - ASSERT_TRUE
    - avifCleanApertureBoxFromCropRect
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImirNonEssential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClopIrotImor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:101,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - ImagePtr::get
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::string
    - ASSERT_NE
    - avif::testutil::AreImagesSimilar
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, IrotAlphaEncodedDecoded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:149,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:159,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:167,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:169,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avifDecoderReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, AlphaIrotNoIrot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:18,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:25,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - ASSERT_TRUE
    - avifCleanApertureBoxFromCropRect
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImirNonEssential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClopIrotImor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:101,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - ImagePtr::get
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::string
    - ASSERT_NE
    - avif::testutil::AreImagesSimilar
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, IrotAlphaEncodedDecoded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:149,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:159,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:167,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:169,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avifDecoderReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, AlphaIrotNoIrot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:17,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:18,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:23,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:25,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:26,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:48,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - EncoderPtr::get
    - EXPECT_EQ
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifEncoderWrite
    - ASSERT_TRUE
    - avifCleanApertureBoxFromCropRect
    - avifDecoderReadMemory
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:71,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:74,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClapIrotImirNonEssential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - EXPECT_EQ
    - std::string::c_str
    - ASSERT_NE
    - std::string
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, ClopIrotImor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1EncoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:101,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:104,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:127,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:136,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    - Dst: avif::testutil::AreImagesSimilar
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Av1EncoderAvailable
    - ImagePtr::get
    - DecoderPtr::get
    - std::string::c_str
    - avifDecoderReadFile
    - avifEncoderWrite
    - avifDecoderReadMemory
    - std::string
    - ASSERT_NE
    - avif::testutil::AreImagesSimilar
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, IrotAlphaEncodedDecoded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:149,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:158,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:159,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:167,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:169,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:171,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: avifDecoderReadFile
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - DecoderPtr::get
    - avif::testutil::AreImagesEqual
    - std::string::c_str
    - avifDecoderReadFile
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(TransformTest, AlphaIrotNoIrot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:183,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/aviftransformtest.cc:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/aviftransformtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:25,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:28,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:29,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:32,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:36,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: avif::testutil::Parse
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 0
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - reinterpret_cast<const uint8_t*>
    - std::numeric_limits<uint32_t>::max
    - ASSERT_FALSE
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    linkageType: ''
    returnType: void
    signature: "void Parse(const std::string& arbitrary_bytes, bool is_persistent,\n
      \          DecoderPtr decoder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: avif::testutil::GetSeedDataDirs
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:52,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: data
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:55,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:56,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:62,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:70,1
    - Dst: size
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:72,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:75,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:76,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:79,1
    - Dst: avifDecoderReset
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:83,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_dec.cc:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ' arbitrary_bytes'
    - is_persistent
    - decoder
    argTypes:
    - std::string
    - bool
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: avif::testutil::Decode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
    functionUses: 24
    functionsReached:
    - data
    - avifIOCreateMemoryReader
    - size
    - avifDecoderParse
    - std::search
    - avifDecoderNextImage
    - reinterpret_cast<const uint8_t*>
    - avifDecoderReset
    - ASSERT_FALSE
    - EXPECT_GT
    - avifDecoderSetIO
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetSeedDataDirs
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: "void Decode(const std::string& arbitrary_bytes, bool is_persistent,\n
      \           DecoderPtr decoder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 1
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 3
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 4
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 5
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 6
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:22,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:23,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:25,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - avifGainMap
    - avifGainMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: avif::testutil::CheckGainMapMetadataMatches
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 7
    functionsReached:
    - EXPECT_EQ
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadataMatches(const avifGainMap& actual,\n                                 const
      avifGainMap& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:43,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:44,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:45,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:46,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:52,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:54,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:56,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:77,1
    - Dst: avif::testutil::CheckGainMapMetadataMatches
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:79,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - image
    - encoder
    - decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 88
    functionName: avif::testutil::EncodeDecodeValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EncoderPtr::get
    - EXPECT_EQ
    - avifImageIsOpaque
    - avifEncoderWrite
    - avifDecoderReadMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::CheckGainMapMetadataMatches
    - ImagePtr::get
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void EncodeDecodeValid(ImagePtr image, EncoderPtr encoder, DecoderPtr
      decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:21,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:22,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:23,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:24,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:25,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:27,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - actual
    - ' expected'
    - epsilon
    argTypes:
    - double[][]
    - std::array<std::array<double, 3>, 3>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: avif::ExpectMatrixNear
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void ExpectMatrixNear(const double actual[3][3],\n                      const
      std::array<std::array<double, 3>, 3>& expected,\n                      const
      double epsilon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToXyzD50Matrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avifColorPrimariesComputeXYZD50ToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeXYZD50ToRGBMatrix
    linkageType: ''
    returnType: void
    signature: void TEST(XyzD50ToRgbMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToRgbConversion, Identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColorPrimariesComputeRGBToRGBMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:138,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:159,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:164,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:177,1
    - Dst: gammaToLinear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:178,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:179,1
    - Dst: linearToGamma
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:180,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:181,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:188,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:196,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 205
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifGetRGBAPixel
    - avif::testutil::DecodeFile
    - ASSERT_TRUE
    - linearToGamma
    - avifImageCreate
    - gammaToLinear
    - EXPECT_GT
    - std::get<2>
    - avifImageYUVToRGB
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - std::string
    - avifImageRGBToYUV
    - avifLinearRGBConvertColorSpace
    - avifColorPrimariesComputeRGBToRGBMatrix
    - GetParam
    - ImagePtr::get
    - avifSetRGBAPixel
    - ASSERT_EQ
    - std::get<0>
    - ASSERT_NE
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - std::get<1>
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConvertImageColorspaceTest, ConvertImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:21,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:22,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:23,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:24,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:25,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:27,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - actual
    - ' expected'
    - epsilon
    argTypes:
    - double[][]
    - std::array<std::array<double, 3>, 3>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: avif::ExpectMatrixNear
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 4
    functionsReached:
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void ExpectMatrixNear(const double actual[3][3],\n                      const
      std::array<std::array<double, 3>, 3>& expected,\n                      const
      double epsilon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToXyzD50Matrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avifColorPrimariesComputeXYZD50ToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeXYZD50ToRGBMatrix
    linkageType: ''
    returnType: void
    signature: void TEST(XyzD50ToRgbMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToRgbConversion, Identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColorPrimariesComputeRGBToRGBMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:138,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:159,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:164,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:177,1
    - Dst: gammaToLinear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:178,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:179,1
    - Dst: linearToGamma
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:180,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:181,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:188,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:196,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 205
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifGetRGBAPixel
    - avif::testutil::DecodeFile
    - ASSERT_TRUE
    - linearToGamma
    - avifImageCreate
    - gammaToLinear
    - EXPECT_GT
    - std::get<2>
    - avifImageYUVToRGB
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - std::string
    - avifImageRGBToYUV
    - avifLinearRGBConvertColorSpace
    - avifColorPrimariesComputeRGBToRGBMatrix
    - GetParam
    - ImagePtr::get
    - avifSetRGBAPixel
    - ASSERT_EQ
    - std::get<0>
    - ASSERT_NE
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - std::get<1>
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConvertImageColorspaceTest, ConvertImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:21,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:22,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:23,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:24,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:25,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:27,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - actual
    - ' expected'
    - epsilon
    argTypes:
    - double[][]
    - std::array<std::array<double, 3>, 3>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: avif::ExpectMatrixNear
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 8
    functionsReached:
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void ExpectMatrixNear(const double actual[3][3],\n                      const
      std::array<std::array<double, 3>, 3>& expected,\n                      const
      double epsilon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToXyzD50Matrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avifColorPrimariesComputeXYZD50ToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeXYZD50ToRGBMatrix
    linkageType: ''
    returnType: void
    signature: void TEST(XyzD50ToRgbMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToRgbConversion, Identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColorPrimariesComputeRGBToRGBMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:138,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:159,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:164,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:177,1
    - Dst: gammaToLinear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:178,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:179,1
    - Dst: linearToGamma
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:180,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:181,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:188,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:196,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 205
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifGetRGBAPixel
    - avif::testutil::DecodeFile
    - ASSERT_TRUE
    - linearToGamma
    - avifImageCreate
    - gammaToLinear
    - EXPECT_GT
    - std::get<2>
    - avifImageYUVToRGB
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - std::string
    - avifImageRGBToYUV
    - avifLinearRGBConvertColorSpace
    - avifColorPrimariesComputeRGBToRGBMatrix
    - GetParam
    - ImagePtr::get
    - avifSetRGBAPixel
    - ASSERT_EQ
    - std::get<0>
    - ASSERT_NE
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - std::get<1>
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConvertImageColorspaceTest, ConvertImage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:21,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:22,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:23,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:24,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:25,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:27,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - actual
    - ' expected'
    - epsilon
    argTypes:
    - double[][]
    - std::array<std::array<double, 3>, 3>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: avif::ExpectMatrixNear
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 12
    functionsReached:
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void ExpectMatrixNear(const double actual[3][3],\n                      const
      std::array<std::array<double, 3>, 3>& expected,\n                      const
      double epsilon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:34,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToXyzD50Matrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avifColorPrimariesComputeXYZD50ToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:48,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - ASSERT_TRUE
    - avifColorPrimariesComputeXYZD50ToRGBMatrix
    linkageType: ''
    returnType: void
    signature: void TEST(XyzD50ToRgbMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:68,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(RgbToRgbConversion, Identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:79,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:88,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:96,1
    - Dst: avif::ExpectMatrixNear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avif::ExpectMatrixNear
    - avifColorPrimariesComputeRGBToRGBMatrix
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColorPrimariesComputeRGBToRGBMatrix, GoldenValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:132,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:133,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:134,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:137,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:138,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:139,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:142,1
    - Dst: avif::testutil::DecodeFile
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:145,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:152,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:156,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:159,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:161,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:164,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:171,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:177,1
    - Dst: gammaToLinear
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:178,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:179,1
    - Dst: linearToGamma
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:180,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:181,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:186,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:188,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:189,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:196,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 205
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifGetRGBAPixel
    - avif::testutil::DecodeFile
    - ASSERT_TRUE
    - linearToGamma
    - avifImageCreate
    - gammaToLinear
    - EXPECT_GT
    - std::get<2>
    - avifImageYUVToRGB
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - std::string
    - avifImageRGBToYUV
    - avifLinearRGBConvertColorSpace
    - avifColorPrimariesComputeRGBToRGBMatrix
    - GetParam
    - ImagePtr::get
    - avifSetRGBAPixel
    - ASSERT_EQ
    - std::get<0>
    - ASSERT_NE
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - std::get<1>
    - avif::testutil::GetPsnr
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConvertImageColorspaceTest, ConvertImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:211,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifcolrconverttest.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifcolrconverttest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, KnownFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UnknownNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidValid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidISO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVariant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, KnownFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UnknownNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidValid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidISO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVariant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, KnownFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UnknownNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidValid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidISO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVariant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:15,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:17,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, KnownFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:24,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avifIsKnownPropertyType
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UnknownNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidValid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidISO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVariant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    - Dst: avifIsValidUUID
      Src: /src/libavif/tests/gtest/avifpropinternaltest.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifpropinternaltest.cc
    functionUses: 0
    functionsReached:
    - avifIsValidUUID
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InternalPropertiesTest, UuidInvalidVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifheadertest.cc:14,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:16,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:19,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifheadertest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifheadertest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - std::search
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifheadertest.cc:14,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:16,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:19,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifheadertest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifheadertest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - std::search
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifheadertest.cc:14,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:16,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:19,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifheadertest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifheadertest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - std::search
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifheadertest.cc:14,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:16,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:17,1
    - Dst: avif::testutil::Encode
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifheadertest.cc:18,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:19,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifheadertest.cc:25,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifheadertest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:32,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifheadertest.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifheadertest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avif::testutil::Encode
    - std::search
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(BasicTest, EncodeDecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:29,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:48,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:49,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:50,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:51,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:53,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:54,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:56,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:57,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:61,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:68,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:73,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:76,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 82
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - EXPECT_EQ
    - avifGetRGBAPixel
    - avifImageCreate
    - avifRGBFormatHasAlpha
    - static_cast<float>
    - std::get<0>
    - std::get<2>
    - EXPECT_NEAR
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, SetGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:91,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:107,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - avif::testutil::FillImageGradient
    - avifGetRGBAPixel
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageYUVToRGB
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, GradientTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:29,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:48,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:49,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:50,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:51,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:53,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:54,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:56,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:57,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:61,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:68,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:73,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:76,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 82
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - EXPECT_EQ
    - avifGetRGBAPixel
    - avifImageCreate
    - avifRGBFormatHasAlpha
    - static_cast<float>
    - std::get<0>
    - std::get<2>
    - EXPECT_NEAR
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, SetGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:91,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:107,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - avif::testutil::FillImageGradient
    - avifGetRGBAPixel
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageYUVToRGB
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, GradientTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:29,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:48,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:49,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:50,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:51,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:53,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:54,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:56,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:57,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:61,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:68,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:73,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:76,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 82
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - EXPECT_EQ
    - avifGetRGBAPixel
    - avifImageCreate
    - avifRGBFormatHasAlpha
    - static_cast<float>
    - std::get<0>
    - std::get<2>
    - EXPECT_NEAR
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, SetGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:91,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:107,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - avif::testutil::FillImageGradient
    - avifGetRGBAPixel
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageYUVToRGB
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, GradientTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:21,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:22,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:23,1
    - Dst: avifImageCreate
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:29,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:33,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:48,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:49,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:50,1
    - Dst: static_cast<float>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:51,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:53,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:54,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:56,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:57,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:61,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:68,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:73,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:76,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 82
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - EXPECT_EQ
    - avifGetRGBAPixel
    - avifImageCreate
    - avifRGBFormatHasAlpha
    - static_cast<float>
    - std::get<0>
    - std::get<2>
    - EXPECT_NEAR
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, SetGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:85,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:86,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:87,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:91,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:93,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:95,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:102,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:107,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifrgbtest.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrgbtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifGetRGBColorSpaceInfo
    - std::get<1>
    - avif::testutil::FillImageGradient
    - avifGetRGBAPixel
    - avif::testutil::AreImagesEqual
    - std::get<0>
    - avif::testutil::CreateImage
    - std::get<2>
    - avifImageYUVToRGB
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    - avifSetRGBAPixel
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SetGetRGBATest, GradientTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sink'
    - ' ptr'
    argTypes:
    - Sink
    - Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avif::FuzzTestPrintSourceCode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzTestPrintSourceCode(Sink& sink, const Ptr& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifPixelFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: avif::testutil::ArbitraryPixelFormat
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::ElementOf<avifPixelFormat>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryPixelFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:103,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:106,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:112,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: avif::testutil::ArbitraryAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:120,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:123,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:126,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:127,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:128,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:129,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:132,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:133,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: avif::testutil::ArbitraryAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:141,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:144,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:147,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:151,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:152,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:153,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: avif::testutil::ArbitraryAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:160,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:163,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:164,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:167,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:168,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:169,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:170,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:173,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:174,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:175,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: avif::testutil::ArbitraryAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: avif::testutil::ArbitraryAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifImage8b
    - avif::testutil::ArbitraryAvifImage16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: avif::testutil::ArbitraryAvifAnim
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifAnim8b
    - avif::testutil::ArbitraryAvifAnim16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:193,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:195,1
    - Dst: std::pair<avifSignedFraction, avifSignedFraction>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:200,1
    - Dst: fuzztest::InRange<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: std::numeric_limits<int32_t>::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: avif::testutil::ArbitraryMinMaxSignedFraction
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::InRange<int32_t>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - fuzztest::FlatMap
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - std::numeric_limits<int32_t>::min
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryMinMaxSignedFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:227,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:228,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:229,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:230,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:231,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:232,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:233,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:234,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:235,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:236,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:237,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:238,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:239,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:240,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:241,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:242,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:243,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:244,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:245,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:246,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:247,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:248,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:249,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:250,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:251,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:252,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:253,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:254,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: avif::testutil::ArbitraryAvifImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Arbitrary<bool>
    - fuzztest::Arbitrary<uint32_t>
    - avif::testutil::ArbitraryAvifImage
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - avif::testutil::ArbitraryMinMaxSignedFraction
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImageWithGainMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:260,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:263,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:264,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:266,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:268,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:270,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:272,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:273,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:276,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: avif::testutil::ArbitraryAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifEncoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:287,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:288,1
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:290,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:295,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:297,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:298,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:299,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:300,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:301,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:302,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:303,1
    - Dst: fuzztest::BitFlagCombinationOf<avifStrictFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: avif::testutil::ArbitraryBaseAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifStrictFlags>
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryBaseAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:315,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:316,1
    - Dst: fuzztest::ElementOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryBaseAvifDecoder
    - fuzztest::ElementOf<avifImageContentTypeFlags>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderWithGainMapOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: avif::testutil::ArbitraryAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:334,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:335,1
    - Dst: fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
    - avif::testutil::ArbitraryBaseAvifDecoder
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderPossiblyNoContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::string>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:372,1
    - Dst: avif::testutil::GetTestImagesContents
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' image_formats'
    argTypes:
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: avif::testutil::ArbitraryImageWithSeeds
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::GetTestImagesContents
    - fuzztest::Arbitrary<std::string>
    linkageType: ''
    returnType: auto
    signature: "auto ArbitraryImageWithSeeds(\n    const std::vector<avifAppFileFormat>&
      image_formats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifPixelFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: avif::testutil::ArbitraryPixelFormat
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 4
    functionsReached:
    - fuzztest::ElementOf<avifPixelFormat>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryPixelFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:103,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:106,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:112,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: avif::testutil::ArbitraryAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:120,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:123,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:126,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:127,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:128,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:129,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:132,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:133,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: avif::testutil::ArbitraryAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:141,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:144,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:147,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:151,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:152,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:153,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: avif::testutil::ArbitraryAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:160,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:163,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:164,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:167,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:168,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:169,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:170,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:173,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:174,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:175,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: avif::testutil::ArbitraryAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: avif::testutil::ArbitraryAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - avif::testutil::ArbitraryAvifImage8b
    - avif::testutil::ArbitraryAvifImage16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: avif::testutil::ArbitraryAvifAnim
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifAnim8b
    - avif::testutil::ArbitraryAvifAnim16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:193,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:195,1
    - Dst: std::pair<avifSignedFraction, avifSignedFraction>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:200,1
    - Dst: fuzztest::InRange<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: std::numeric_limits<int32_t>::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: avif::testutil::ArbitraryMinMaxSignedFraction
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - fuzztest::InRange<int32_t>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - fuzztest::FlatMap
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - std::numeric_limits<int32_t>::min
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryMinMaxSignedFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:227,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:228,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:229,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:230,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:231,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:232,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:233,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:234,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:235,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:236,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:237,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:238,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:239,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:240,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:241,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:242,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:243,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:244,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:245,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:246,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:247,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:248,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:249,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:250,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:251,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:252,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:253,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:254,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: avif::testutil::ArbitraryAvifImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Arbitrary<bool>
    - fuzztest::Arbitrary<uint32_t>
    - avif::testutil::ArbitraryAvifImage
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - avif::testutil::ArbitraryMinMaxSignedFraction
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImageWithGainMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:260,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:263,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:264,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:266,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:268,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:270,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:272,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:273,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:276,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: avif::testutil::ArbitraryAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifEncoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:287,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:288,1
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:290,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:295,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:297,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:298,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:299,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:300,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:301,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:302,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:303,1
    - Dst: fuzztest::BitFlagCombinationOf<avifStrictFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: avif::testutil::ArbitraryBaseAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifStrictFlags>
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryBaseAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:315,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:316,1
    - Dst: fuzztest::ElementOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 1
    functionsReached:
    - avif::testutil::ArbitraryBaseAvifDecoder
    - fuzztest::ElementOf<avifImageContentTypeFlags>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderWithGainMapOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: avif::testutil::ArbitraryAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:334,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:335,1
    - Dst: fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
    - avif::testutil::ArbitraryBaseAvifDecoder
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderPossiblyNoContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::string>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:372,1
    - Dst: avif::testutil::GetTestImagesContents
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' image_formats'
    argTypes:
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: avif::testutil::ArbitraryImageWithSeeds
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::GetTestImagesContents
    - fuzztest::Arbitrary<std::string>
    linkageType: ''
    returnType: auto
    signature: "auto ArbitraryImageWithSeeds(\n    const std::vector<avifAppFileFormat>&
      image_formats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sink'
    - ' ptr'
    argTypes:
    - Sink
    - Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avif::FuzzTestPrintSourceCode
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzTestPrintSourceCode(Sink& sink, const Ptr& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifPixelFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: avif::testutil::ArbitraryPixelFormat
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 8
    functionsReached:
    - fuzztest::ElementOf<avifPixelFormat>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryPixelFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:103,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:106,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:112,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: avif::testutil::ArbitraryAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:120,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:123,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:126,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:127,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:128,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:129,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:132,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:133,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: avif::testutil::ArbitraryAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:141,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:144,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:147,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:151,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:152,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:153,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: avif::testutil::ArbitraryAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:160,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:163,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:164,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:167,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:168,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:169,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:170,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:173,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:174,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:175,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: avif::testutil::ArbitraryAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: avif::testutil::ArbitraryAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - avif::testutil::ArbitraryAvifImage8b
    - avif::testutil::ArbitraryAvifImage16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: avif::testutil::ArbitraryAvifAnim
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifAnim8b
    - avif::testutil::ArbitraryAvifAnim16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:193,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:195,1
    - Dst: std::pair<avifSignedFraction, avifSignedFraction>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:200,1
    - Dst: fuzztest::InRange<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: std::numeric_limits<int32_t>::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: avif::testutil::ArbitraryMinMaxSignedFraction
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - fuzztest::InRange<int32_t>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - fuzztest::FlatMap
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - std::numeric_limits<int32_t>::min
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryMinMaxSignedFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:227,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:228,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:229,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:230,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:231,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:232,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:233,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:234,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:235,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:236,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:237,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:238,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:239,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:240,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:241,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:242,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:243,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:244,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:245,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:246,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:247,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:248,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:249,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:250,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:251,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:252,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:253,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:254,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: avif::testutil::ArbitraryAvifImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Arbitrary<bool>
    - fuzztest::Arbitrary<uint32_t>
    - avif::testutil::ArbitraryAvifImage
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - avif::testutil::ArbitraryMinMaxSignedFraction
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImageWithGainMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:260,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:263,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:264,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:266,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:268,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:270,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:272,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:273,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:276,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: avif::testutil::ArbitraryAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifEncoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:287,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:288,1
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:290,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:295,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:297,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:298,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:299,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:300,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:301,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:302,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:303,1
    - Dst: fuzztest::BitFlagCombinationOf<avifStrictFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: avif::testutil::ArbitraryBaseAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 4
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifStrictFlags>
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryBaseAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:315,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:316,1
    - Dst: fuzztest::ElementOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 2
    functionsReached:
    - avif::testutil::ArbitraryBaseAvifDecoder
    - fuzztest::ElementOf<avifImageContentTypeFlags>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderWithGainMapOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: avif::testutil::ArbitraryAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:334,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:335,1
    - Dst: fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
    - avif::testutil::ArbitraryBaseAvifDecoder
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderPossiblyNoContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::string>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:372,1
    - Dst: avif::testutil::GetTestImagesContents
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' image_formats'
    argTypes:
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: avif::testutil::ArbitraryImageWithSeeds
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::GetTestImagesContents
    - fuzztest::Arbitrary<std::string>
    linkageType: ''
    returnType: auto
    signature: "auto ArbitraryImageWithSeeds(\n    const std::vector<avifAppFileFormat>&
      image_formats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifPixelFormat>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: avif::testutil::ArbitraryPixelFormat
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 12
    functionsReached:
    - fuzztest::ElementOf<avifPixelFormat>
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryPixelFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:103,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:106,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:107,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:108,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:109,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:112,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:113,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: avif::testutil::ArbitraryAvifImage8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:120,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:123,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:124,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:125,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:126,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:127,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:128,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:129,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:132,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:133,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:134,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: avif::testutil::ArbitraryAvifImage16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:141,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:144,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:145,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:146,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:147,1
    - Dst: fuzztest::Arbitrary<std::vector<uint8_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:148,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:151,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:152,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:153,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: avif::testutil::ArbitraryAvifAnim8b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - fuzztest::Just
    - fuzztest::Arbitrary<std::vector<uint8_t>>
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - avif::testutil::GetNumSamples
    - fuzztest::InRange<uint16_t>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim8b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:160,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:163,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:164,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:165,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:166,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:167,1
    - Dst: fuzztest::ContainerOf<std::vector<uint16_t>>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:168,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:169,1
    - Dst: avif::testutil::GetNumSamples
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:170,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:173,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:174,1
    - Dst: fuzztest::InRange<uint16_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:175,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: avif::testutil::ArbitraryPixelFormat
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:176,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: avif::testutil::ArbitraryAvifAnim16b
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::FlatMap
    - fuzztest::InRange<uint16_t>
    - avif::testutil::GetNumSamples
    - fuzztest::ContainerOf<std::vector<uint16_t>>
    - avif::testutil::ArbitraryPixelFormat
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim16b()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    - Dst: avif::testutil::ArbitraryAvifImage16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: avif::testutil::ArbitraryAvifImage
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - avif::testutil::ArbitraryAvifImage8b
    - avif::testutil::ArbitraryAvifImage16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim8b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    - Dst: avif::testutil::ArbitraryAvifAnim16b
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: avif::testutil::ArbitraryAvifAnim
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifAnim8b
    - avif::testutil::ArbitraryAvifAnim16b
    - fuzztest::OneOf
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::FlatMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:193,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:195,1
    - Dst: std::pair<avifSignedFraction, avifSignedFraction>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:200,1
    - Dst: fuzztest::InRange<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: std::numeric_limits<int32_t>::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:203,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: avif::testutil::ArbitraryMinMaxSignedFraction
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - fuzztest::InRange<int32_t>
    - std::pair<avifSignedFraction, avifSignedFraction>
    - fuzztest::FlatMap
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - std::numeric_limits<int32_t>::min
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryMinMaxSignedFraction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:227,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:228,1
    - Dst: avif::testutil::ArbitraryAvifImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:229,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:230,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:231,1
    - Dst: avif::testutil::ArbitraryMinMaxSignedFraction
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:232,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:233,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:234,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:235,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:236,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:237,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:238,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:239,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:240,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:241,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:242,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:243,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:244,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:245,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:246,1
    - Dst: fuzztest::Arbitrary<int32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:247,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:248,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:249,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:250,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:251,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:252,1
    - Dst: fuzztest::Arbitrary<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:253,1
    - Dst: fuzztest::NonZero<uint32_t>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:254,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: avif::testutil::ArbitraryAvifImageWithGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::Arbitrary<bool>
    - fuzztest::Arbitrary<uint32_t>
    - avif::testutil::ArbitraryAvifImage
    - fuzztest::Arbitrary<int32_t>
    - fuzztest::NonZero<uint32_t>
    - avif::CreateTestImageWithGainMap
    - avif::testutil::ArbitraryMinMaxSignedFraction
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifImageWithGainMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:260,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:263,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:264,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:266,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:268,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:270,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:272,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:273,1
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:276,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: avif::testutil::ArbitraryAvifEncoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifEncoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::InRange
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:287,1
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:288,1
    - Dst: fuzztest::ElementOf<avifCodecChoice>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:290,1
    - Dst: fuzztest::ElementOf
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:295,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:297,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:298,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:299,1
    - Dst: fuzztest::Arbitrary<bool>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:300,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:301,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:302,1
    - Dst: fuzztest::Just
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:303,1
    - Dst: fuzztest::BitFlagCombinationOf<avifStrictFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: avif::testutil::ArbitraryBaseAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 6
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifStrictFlags>
    - fuzztest::Just
    - fuzztest::ElementOf
    - fuzztest::Arbitrary<bool>
    - fuzztest::InRange
    - fuzztest::ElementOf<avifCodecChoice>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryBaseAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:315,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:316,1
    - Dst: fuzztest::ElementOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 3
    functionsReached:
    - avif::testutil::ArbitraryBaseAvifDecoder
    - fuzztest::ElementOf<avifImageContentTypeFlags>
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderWithGainMapOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: avif::testutil::ArbitraryAvifDecoder
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::CreateTestImageWithGainMap
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:334,1
    - Dst: avif::testutil::ArbitraryBaseAvifDecoder
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:335,1
    - Dst: fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - fuzztest::BitFlagCombinationOf<avifImageContentTypeFlags>
    - avif::testutil::ArbitraryBaseAvifDecoder
    - avif::CreateTestImageWithGainMap
    linkageType: ''
    returnType: auto
    signature: auto ArbitraryAvifDecoderPossiblyNoContent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Arbitrary<std::string>
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:372,1
    - Dst: avif::testutil::GetTestImagesContents
      Src: /src/libavif/tests/gtest/avif_fuzztest_helpers.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' image_formats'
    argTypes:
    - std::vector<avifAppFileFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: avif::testutil::ArbitraryImageWithSeeds
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
    functionUses: 0
    functionsReached:
    - avif::testutil::GetTestImagesContents
    - fuzztest::Arbitrary<std::string>
    linkageType: ''
    returnType: auto
    signature: "auto ArbitraryImageWithSeeds(\n    const std::vector<avifAppFileFormat>&
      image_formats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:21,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:23,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:27,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrangetest.cc:37,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - range
    - input_type
    - encoded
    argTypes:
    - avifRange
    - InputType
    - testutil::AvifRwData*
    assertStmts:
    - condition: (input_type == InputType::kAnimation)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: avif::GenerateEncodedData
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - AVIF_CHECKRES
    - avifEncoderWrite
    - assert
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - AVIF_CHECKERR
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult GenerateEncodedData(avifRange range, InputType input_type,\n
      \                              testutil::AvifRwData* encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:65,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:68,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:72,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:75,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:77,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:87,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - std::search
    - std::equal
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - static_cast<uint8_t>
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, DifferentVideoRangeInColrAndMdat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:107,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:110,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifrangetest.cc:111,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:112,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::search
    - DecoderPtr::get
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, MissingColr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:21,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:23,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:27,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrangetest.cc:37,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - range
    - input_type
    - encoded
    argTypes:
    - avifRange
    - InputType
    - testutil::AvifRwData*
    assertStmts:
    - condition: (input_type == InputType::kAnimation)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: avif::GenerateEncodedData
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 2
    functionsReached:
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - AVIF_CHECKRES
    - avifEncoderWrite
    - assert
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - AVIF_CHECKERR
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult GenerateEncodedData(avifRange range, InputType input_type,\n
      \                              testutil::AvifRwData* encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:65,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:68,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:72,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:75,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:77,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:87,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - std::search
    - std::equal
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - static_cast<uint8_t>
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, DifferentVideoRangeInColrAndMdat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:107,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:110,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifrangetest.cc:111,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:112,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::search
    - DecoderPtr::get
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, MissingColr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:21,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:23,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:27,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrangetest.cc:37,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - range
    - input_type
    - encoded
    argTypes:
    - avifRange
    - InputType
    - testutil::AvifRwData*
    assertStmts:
    - condition: (input_type == InputType::kAnimation)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: avif::GenerateEncodedData
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 4
    functionsReached:
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - AVIF_CHECKRES
    - avifEncoderWrite
    - assert
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - AVIF_CHECKERR
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult GenerateEncodedData(avifRange range, InputType input_type,\n
      \                              testutil::AvifRwData* encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:65,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:68,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:72,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:75,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:77,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:87,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - std::search
    - std::equal
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - static_cast<uint8_t>
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, DifferentVideoRangeInColrAndMdat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:107,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:110,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifrangetest.cc:111,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:112,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::search
    - DecoderPtr::get
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, MissingColr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:21,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:23,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:24,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifrangetest.cc:27,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:29,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:31,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:32,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:35,1
    - Dst: assert
      Src: /src/libavif/tests/gtest/avifrangetest.cc:37,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:38,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:41,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - range
    - input_type
    - encoded
    argTypes:
    - avifRange
    - InputType
    - testutil::AvifRwData*
    assertStmts:
    - condition: (input_type == InputType::kAnimation)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: avif::GenerateEncodedData
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 6
    functionsReached:
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - AVIF_CHECKRES
    - avifEncoderWrite
    - assert
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - AVIF_CHECKERR
    - ImagePtr::get
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult GenerateEncodedData(avifRange range, InputType input_type,\n
      \                              testutil::AvifRwData* encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:53,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:54,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:56,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:65,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:68,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:72,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/avifrangetest.cc:74,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:75,1
    - Dst: static_cast<uint8_t>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:77,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:87,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:89,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 94
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_GT
    - std::get<1>
    - std::search
    - std::equal
    - DecoderPtr::get
    - reinterpret_cast<const uint8_t*>
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - static_cast<uint8_t>
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, DifferentVideoRangeInColrAndMdat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:97,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifrangetest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: avif::GenerateEncodedData
      Src: /src/libavif/tests/gtest/avifrangetest.cc:100,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:107,1
    - Dst: ASSERT_LT
      Src: /src/libavif/tests/gtest/avifrangetest.cc:110,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avifrangetest.cc:111,1
    - Dst: std::search
      Src: /src/libavif/tests/gtest/avifrangetest.cc:112,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:118,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifrangetest.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifrangetest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifrangetest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifrangetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::get<1>
    - std::search
    - DecoderPtr::get
    - avif::GenerateEncodedData
    - avifDecoderReadMemory
    - std::get<0>
    - ASSERT_NE
    - ASSERT_LT
    - GetParam
    - ImagePtr::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_P(RangeTest, MissingColr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:19,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:22,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftunetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:47,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:50,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:52,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 67
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - std::string
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, GenerateDifferentBitstreams)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:73,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:96,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:97,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomSharpnessTest, GenerateDifferentBitstreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:130,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:145,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:156,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/aviftunetest.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:178,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:180,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:184,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:187,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:189,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:190,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:192,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:194,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:195,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:197,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:199,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:202,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:204,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:207,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:209,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneOptionHasSameBehaviorAsOtherCodecSpecificOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:216,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:218,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:223,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifCodecName
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneIqOnlySupportsAllIntra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:19,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:22,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftunetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:47,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:50,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:52,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 67
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - std::string
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, GenerateDifferentBitstreams)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:73,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:96,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:97,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomSharpnessTest, GenerateDifferentBitstreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:130,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:145,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:156,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/aviftunetest.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:178,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:180,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:184,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:187,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:189,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:190,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:192,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:194,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:195,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:197,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:199,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:202,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:204,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:207,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:209,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneOptionHasSameBehaviorAsOtherCodecSpecificOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:216,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:218,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:223,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifCodecName
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneIqOnlySupportsAllIntra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:19,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:22,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftunetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:47,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:50,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:52,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 67
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - std::string
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, GenerateDifferentBitstreams)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:73,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:96,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:97,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomSharpnessTest, GenerateDifferentBitstreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:130,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:145,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:156,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/aviftunetest.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:178,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:180,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:184,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:187,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:189,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:190,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:192,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:194,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:195,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:197,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:199,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:202,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:204,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:207,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:209,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneOptionHasSameBehaviorAsOtherCodecSpecificOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:216,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:218,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:223,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifCodecName
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneIqOnlySupportsAllIntra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:19,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:21,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:22,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:26,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:37,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:40,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviftunetest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:47,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:50,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:51,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:52,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:57,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:60,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:63,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 67
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - std::string
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, GenerateDifferentBitstreams)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/aviftunetest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:73,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:78,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:92,1
    - Dst: size
      Src: /src/libavif/tests/gtest/aviftunetest.cc:96,1
    - Dst: std::equal
      Src: /src/libavif/tests/gtest/aviftunetest.cc:97,1
    - Dst: data
      Src: /src/libavif/tests/gtest/aviftunetest.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:103,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:106,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:109,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/aviftunetest.cc:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - avif::testutil::ReadImage
    - data
    - std::vector::emplace_back
    - ASSERT_GT
    - avifDecoderReadMemory
    - avifEncoderSetCodecSpecificOption
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - size
    - std::equal
    - avifEncoderWrite
    - ASSERT_NE
    - DecoderPtr::get
    - avif::testutil::GetPsnr
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: void TEST(AomSharpnessTest, GenerateDifferentBitstreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:124,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:129,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:130,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:131,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:145,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:156,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:161,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:169,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:171,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/aviftunetest.cc:172,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/aviftunetest.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:178,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:180,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:184,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:187,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:189,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:190,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:192,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:194,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:195,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:197,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:199,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:202,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:204,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:207,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:209,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/aviftunetest.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneOptionHasSameBehaviorAsOtherCodecSpecificOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/aviftunetest.cc:216,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/aviftunetest.cc:218,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:223,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviftunetest.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviftunetest.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avifEncoderSetCodecSpecificOption
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifCodecName
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AomTuneMetricTest, TuneIqOnlySupportsAllIntra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/aviftunetest.cc:241,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/aviftunetest.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/aviftunetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersionSvt
      Src: /src/libavif/tests/gtest/avifsvttest.cc:17,1
    - Dst: std::atoi
      Src: /src/libavif/tests/gtest/avifsvttest.cc:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: avif::SvtAv1SupportsLossless
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - std::atoi
    - avifCodecVersionSvt
    linkageType: ''
    returnType: bool
    signature: bool SvtAv1SupportsLossless()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:32,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:40,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - EXPECT_GT
    - avif::testutil::CreateImage
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - GetParam
    - avif::testutil::GetPsnr
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeStillImage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:73,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifsvttest.cc:77,1
    - Dst: std::vector::capacity
      Src: /src/libavif/tests/gtest/avifsvttest.cc:78,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:80,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::vector::capacity
    - std::vector::reserve
    - avifDecoderParse
    - avifEncoderFinish
    - static_cast<int>
    - avif::testutil::AreImagesEqual
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - EXPECT_GT
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeSequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersionSvt
      Src: /src/libavif/tests/gtest/avifsvttest.cc:17,1
    - Dst: std::atoi
      Src: /src/libavif/tests/gtest/avifsvttest.cc:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: avif::SvtAv1SupportsLossless
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 2
    functionsReached:
    - std::atoi
    - avifCodecVersionSvt
    linkageType: ''
    returnType: bool
    signature: bool SvtAv1SupportsLossless()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:32,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:40,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - EXPECT_GT
    - avif::testutil::CreateImage
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - GetParam
    - avif::testutil::GetPsnr
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeStillImage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:73,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifsvttest.cc:77,1
    - Dst: std::vector::capacity
      Src: /src/libavif/tests/gtest/avifsvttest.cc:78,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:80,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::vector::capacity
    - std::vector::reserve
    - avifDecoderParse
    - avifEncoderFinish
    - static_cast<int>
    - avif::testutil::AreImagesEqual
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - EXPECT_GT
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeSequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersionSvt
      Src: /src/libavif/tests/gtest/avifsvttest.cc:17,1
    - Dst: std::atoi
      Src: /src/libavif/tests/gtest/avifsvttest.cc:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: avif::SvtAv1SupportsLossless
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 4
    functionsReached:
    - std::atoi
    - avifCodecVersionSvt
    linkageType: ''
    returnType: bool
    signature: bool SvtAv1SupportsLossless()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:32,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:40,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - EXPECT_GT
    - avif::testutil::CreateImage
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - GetParam
    - avif::testutil::GetPsnr
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeStillImage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:73,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifsvttest.cc:77,1
    - Dst: std::vector::capacity
      Src: /src/libavif/tests/gtest/avifsvttest.cc:78,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:80,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::vector::capacity
    - std::vector::reserve
    - avifDecoderParse
    - avifEncoderFinish
    - static_cast<int>
    - avif::testutil::AreImagesEqual
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - EXPECT_GT
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeSequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersionSvt
      Src: /src/libavif/tests/gtest/avifsvttest.cc:17,1
    - Dst: std::atoi
      Src: /src/libavif/tests/gtest/avifsvttest.cc:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: avif::SvtAv1SupportsLossless
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 6
    functionsReached:
    - std::atoi
    - avifCodecVersionSvt
    linkageType: ''
    returnType: bool
    signature: bool SvtAv1SupportsLossless()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:30,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:32,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:33,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:40,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:41,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:44,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:49,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:53,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:56,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:61,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::FillImageGradient
    - EXPECT_GT
    - avif::testutil::CreateImage
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - ASSERT_EQ
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - GetParam
    - avif::testutil::GetPsnr
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeStillImage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifsvttest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifsvttest.cc:70,1
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifsvttest.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifsvttest.cc:73,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifsvttest.cc:77,1
    - Dst: std::vector::capacity
      Src: /src/libavif/tests/gtest/avifsvttest.cc:78,1
    - Dst: std::vector::push_back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:80,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:83,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifsvttest.cc:85,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avifsvttest.cc:86,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:90,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:107,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifsvttest.cc:109,1
    - Dst: avif::SvtAv1SupportsLossless
      Src: /src/libavif/tests/gtest/avifsvttest.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avifsvttest.cc:111,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifsvttest.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifsvttest.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::back
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::vector::capacity
    - std::vector::reserve
    - avifDecoderParse
    - avifEncoderFinish
    - static_cast<int>
    - avif::testutil::AreImagesEqual
    - avif::SvtAv1SupportsLossless
    - EncoderPtr::get
    - avif::testutil::Av1DecoderAvailable
    - get
    - GTEST_SKIP
    - avif::testutil::GetPsnr
    - ASSERT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::get<0>
    - ASSERT_NE
    - GetParam
    - EXPECT_GT
    - avifCodecName
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SvtAv1Test, EncodeDecodeSequence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:265,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:266,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:267,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:281,1
    - Dst: avif::testutil::EncodeAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - ' image'
    - width
    - height
    - create_alpha_if_none
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - bool
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: avif::testutil::EncodeRectAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - avifImageSetViewRect
    - avif::testutil::EncodeAsIncremental
    - ASSERT_NE
    - ASSERT_LE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeRectAsIncremental(const avifImage& image, uint32_t width,\n
      \                            uint32_t height, bool create_alpha_if_none,\n                             bool
      flat_cells, avifRWData* output,\n                             uint32_t* cell_width,
      uint32_t* cell_height)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:302,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:313,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:317,1
    - Dst: std::max<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:323,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:326,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:333,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:334,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:341,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:344,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:346,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:351,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:352,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:358,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:360,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:362,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:364,1
    - Dst: avif::testutil::GetMinDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:367,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:372,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:376,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:380,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:383,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:385,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:388,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:389,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:390,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:392,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:394,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:397,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:399,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:401,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:404,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 10
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - ' reference'
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - avifImage
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 410
    functionName: avif::testutil::DecodeIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 20
    functionsReached:
    - avifDecoderNthImage
    - avif::testutil::GetMinDecodedRowCount
    - avifDecoderNextImage
    - printf
    - AVIF_CHECKRES
    - avifDecoderSetIO
    - avifDecoderDecodedRowCount
    - avif::testutil::ComparePartialYuva
    - std::max<size_t>
    - std::min
    - AVIF_CHECKERR
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeIncrementally(const avifRWData& encoded_avif,\n                               avifDecoder*
      decoder, bool is_persistent,\n                               bool give_size_hint,
      bool use_nth_image_api,\n                               const avifImage& reference,
      uint32_t cell_height,\n                               bool enable_fine_incremental_check,\n
      \                              bool expect_whole_file_read,\n                               bool
      expect_parse_success_from_partial_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: avif::testutil::DecodeNonIncrementallyAndIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - ImagePtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeIncrementally
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNonIncrementallyAndIncrementally(\n    const avifRWData&
      encoded_avif, avifDecoder* decoder, bool is_persistent,\n    bool give_size_hint,
      bool use_nth_image_api, uint32_t cell_height,\n    bool enable_fine_incremental_check,
      bool expect_whole_file_read,\n    bool expect_parse_success_from_partial_file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 5
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 3
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 1
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:265,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:266,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:267,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:281,1
    - Dst: avif::testutil::EncodeAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - ' image'
    - width
    - height
    - create_alpha_if_none
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - bool
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: avif::testutil::EncodeRectAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - avifImageSetViewRect
    - avif::testutil::EncodeAsIncremental
    - ASSERT_NE
    - ASSERT_LE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeRectAsIncremental(const avifImage& image, uint32_t width,\n
      \                            uint32_t height, bool create_alpha_if_none,\n                             bool
      flat_cells, avifRWData* output,\n                             uint32_t* cell_width,
      uint32_t* cell_height)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:302,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:313,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:317,1
    - Dst: std::max<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:323,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:326,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:333,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:334,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:341,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:344,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:346,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:351,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:352,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:358,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:360,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:362,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:364,1
    - Dst: avif::testutil::GetMinDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:367,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:372,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:376,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:380,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:383,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:385,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:388,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:389,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:390,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:392,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:394,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:397,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:399,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:401,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:404,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 10
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - ' reference'
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - avifImage
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 410
    functionName: avif::testutil::DecodeIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 21
    functionsReached:
    - avifDecoderNthImage
    - avif::testutil::GetMinDecodedRowCount
    - avifDecoderNextImage
    - printf
    - AVIF_CHECKRES
    - avifDecoderSetIO
    - avifDecoderDecodedRowCount
    - avif::testutil::ComparePartialYuva
    - std::max<size_t>
    - std::min
    - AVIF_CHECKERR
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeIncrementally(const avifRWData& encoded_avif,\n                               avifDecoder*
      decoder, bool is_persistent,\n                               bool give_size_hint,
      bool use_nth_image_api,\n                               const avifImage& reference,
      uint32_t cell_height,\n                               bool enable_fine_incremental_check,\n
      \                              bool expect_whole_file_read,\n                               bool
      expect_parse_success_from_partial_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: avif::testutil::DecodeNonIncrementallyAndIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - ImagePtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeIncrementally
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNonIncrementallyAndIncrementally(\n    const avifRWData&
      encoded_avif, avifDecoder* decoder, bool is_persistent,\n    bool give_size_hint,
      bool use_nth_image_api, uint32_t cell_height,\n    bool enable_fine_incremental_check,
      bool expect_whole_file_read,\n    bool expect_parse_success_from_partial_file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 7
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 8
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 5
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 2
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:265,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:266,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:267,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:281,1
    - Dst: avif::testutil::EncodeAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - ' image'
    - width
    - height
    - create_alpha_if_none
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - bool
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: avif::testutil::EncodeRectAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - avifImageSetViewRect
    - avif::testutil::EncodeAsIncremental
    - ASSERT_NE
    - ASSERT_LE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeRectAsIncremental(const avifImage& image, uint32_t width,\n
      \                            uint32_t height, bool create_alpha_if_none,\n                             bool
      flat_cells, avifRWData* output,\n                             uint32_t* cell_width,
      uint32_t* cell_height)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:302,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:313,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:317,1
    - Dst: std::max<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:323,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:326,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:333,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:334,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:341,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:344,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:346,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:351,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:352,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:358,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:360,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:362,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:364,1
    - Dst: avif::testutil::GetMinDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:367,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:372,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:376,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:380,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:383,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:385,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:388,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:389,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:390,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:392,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:394,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:397,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:399,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:401,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:404,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 10
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - ' reference'
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - avifImage
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 410
    functionName: avif::testutil::DecodeIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 22
    functionsReached:
    - avifDecoderNthImage
    - avif::testutil::GetMinDecodedRowCount
    - avifDecoderNextImage
    - printf
    - AVIF_CHECKRES
    - avifDecoderSetIO
    - avifDecoderDecodedRowCount
    - avif::testutil::ComparePartialYuva
    - std::max<size_t>
    - std::min
    - AVIF_CHECKERR
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeIncrementally(const avifRWData& encoded_avif,\n                               avifDecoder*
      decoder, bool is_persistent,\n                               bool give_size_hint,
      bool use_nth_image_api,\n                               const avifImage& reference,
      uint32_t cell_height,\n                               bool enable_fine_incremental_check,\n
      \                              bool expect_whole_file_read,\n                               bool
      expect_parse_success_from_partial_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: avif::testutil::DecodeNonIncrementallyAndIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - ImagePtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeIncrementally
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNonIncrementallyAndIncrementally(\n    const avifRWData&
      encoded_avif, avifDecoder* decoder, bool is_persistent,\n    bool give_size_hint,
      bool use_nth_image_api, uint32_t cell_height,\n    bool enable_fine_incremental_check,
      bool expect_whole_file_read,\n    bool expect_parse_success_from_partial_file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 10
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 6
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 3
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:31,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:32,1
    - Dst: ASSERT_GE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:33,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:34,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:36,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:48,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:54,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:57,1
    - Dst: avifImagePlane
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:58,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:59,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:62,1
    - Dst: roundf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:70,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ' image1'
    - ' image2'
    - row_count
    argTypes:
    - avifImage
    - avifImage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: avif::testutil::ComparePartialYuva
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 11
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - roundf
    - avif::testutil::ComparePartialYuva
    - avifImagePlaneWidth
    - ASSERT_NE
    - avifImagePlaneRowBytes
    - ASSERT_GE
    - std::memcmp
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: "void ComparePartialYuva(const avifImage& image1, const avifImage&
      image2,\n                        uint32_t row_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:109,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - height
    - cell_height
    - has_alpha
    - has_gain_map
    - available_byte_count
    - byte_count
    - enable_fine_incremental_check
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - bool
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: avif::testutil::GetMinDecodedRowCount
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t GetMinDecodedRowCount(uint32_t height, uint32_t cell_height,\n
      \                              bool has_alpha, bool has_gain_map,\n                               size_t
      available_byte_count, size_t byte_count,\n                               bool
      enable_fine_incremental_check)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PartialData*>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:145,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:149,1
    - Dst: uint8_t::uint8_t
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:161,1
    - Dst: std::copy
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:164,1
    - Dst: std::move
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - io
    - read_flags
    - offset64
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: avif::testutil::PartialRead
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::copy
    - static_cast<size_t>
    - reinterpret_cast<PartialData*>
    - std::move
    - std::unique_ptr::get
    linkageType: ''
    returnType: avifResult
    signature: "avifResult PartialRead(struct avifIO* io, uint32_t read_flags,\n                       uint64_t
      offset64, size_t size, avifROData* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:193,1
    - Dst: std::vector::reserve
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:213,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:225,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:226,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: std::vector::back
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:233,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:236,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:237,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:238,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:240,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - ' image'
    - grid_cols
    - grid_rows
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: avif::testutil::EncodeAsGrid
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 7
    functionsReached:
    - std::vector::emplace_back
    - ASSERT_EQ
    - ASSERT_GT
    - std::vector::size
    - avifImageSetViewRect
    - get
    - std::vector::data
    - avifEncoderAddImageGrid
    - ASSERT_NE
    - EncoderPtr::get
    - std::vector::reserve
    - std::vector::back
    - avifEncoderFinish
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void EncodeAsGrid(const avifImage& image, uint32_t grid_cols,\n                  uint32_t
      grid_rows, avifRWData* output, uint32_t* cell_width,\n                  uint32_t*
      cell_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::EncodeAsGrid
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' image'
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: avif::testutil::EncodeAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 3
    functionsReached:
    - avif::testutil::EncodeAsGrid
    linkageType: ''
    returnType: void
    signature: "void EncodeAsIncremental(const avifImage& image, bool flat_cells,\n
      \                        avifRWData* output, uint32_t* cell_width,\n                         uint32_t*
      cell_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:265,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:266,1
    - Dst: ASSERT_LE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:267,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:272,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:278,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:281,1
    - Dst: avif::testutil::EncodeAsIncremental
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - ' image'
    - width
    - height
    - create_alpha_if_none
    - flat_cells
    - output
    - cell_width
    - cell_height
    argTypes:
    - avifImage
    - uint32_t
    - uint32_t
    - bool
    - bool
    - avifRWData*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: avif::testutil::EncodeRectAsIncremental
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - avifGetPixelFormatInfo
    - avifImageSetViewRect
    - avif::testutil::EncodeAsIncremental
    - ASSERT_NE
    - ASSERT_LE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeRectAsIncremental(const avifImage& image, uint32_t width,\n
      \                            uint32_t height, bool create_alpha_if_none,\n                             bool
      flat_cells, avifRWData* output,\n                             uint32_t* cell_width,
      uint32_t* cell_height)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:302,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:313,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:317,1
    - Dst: std::max<size_t>
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:323,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:326,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:333,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:334,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:341,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:344,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:346,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:351,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:352,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:358,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:360,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:362,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:364,1
    - Dst: avif::testutil::GetMinDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:367,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:372,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:376,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:380,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:383,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:385,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:388,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:389,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:390,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:392,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:394,1
    - Dst: avifDecoderDecodedRowCount
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:397,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:399,1
    - Dst: avif::testutil::ComparePartialYuva
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:401,1
    - Dst: printf
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:404,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 10
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - ' reference'
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - avifImage
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 410
    functionName: avif::testutil::DecodeIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 23
    functionsReached:
    - avifDecoderNthImage
    - avif::testutil::GetMinDecodedRowCount
    - avifDecoderNextImage
    - printf
    - AVIF_CHECKRES
    - avifDecoderSetIO
    - avifDecoderDecodedRowCount
    - avif::testutil::ComparePartialYuva
    - std::max<size_t>
    - std::min
    - AVIF_CHECKERR
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeIncrementally(const avifRWData& encoded_avif,\n                               avifDecoder*
      decoder, bool is_persistent,\n                               bool give_size_hint,
      bool use_nth_image_api,\n                               const avifImage& reference,
      uint32_t cell_height,\n                               bool enable_fine_incremental_check,\n
      \                              bool expect_whole_file_read,\n                               bool
      expect_parse_success_from_partial_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:420,1
    - Dst: avif::testutil::DecodeIncrementally
      Src: /src/libavif/tests/gtest/avifincrtest_helpers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - ' encoded_avif'
    - decoder
    - is_persistent
    - give_size_hint
    - use_nth_image_api
    - cell_height
    - enable_fine_incremental_check
    - expect_whole_file_read
    - expect_parse_success_from_partial_file
    argTypes:
    - avifRWData
    - avifDecoder*
    - bool
    - bool
    - bool
    - uint32_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: avif::testutil::DecodeNonIncrementallyAndIncrementally
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - ImagePtr::get
    - avifDecoderReadMemory
    - avif::testutil::DecodeIncrementally
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNonIncrementallyAndIncrementally(\n    const avifRWData&
      encoded_avif, avifDecoder* decoder, bool is_persistent,\n    bool give_size_hint,
      bool use_nth_image_api, uint32_t cell_height,\n    bool enable_fine_incremental_check,
      bool expect_whole_file_read,\n    bool expect_parse_success_from_partial_file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:54,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:57,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:60,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:61,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 8
    argNames:
    - ' gm'
    - gain_map_min
    - gain_map_max
    - gain_map_gamma
    - base_offset
    - alternate_offset
    - base_hdr_headroom
    - alternate_hdr_headroom
    argTypes:
    - avifGainMap
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: avif::CheckGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadata(\n    const avifGainMap& gm, std::array<double,
      3> gain_map_min,\n    std::array<double, 3> gain_map_max, std::array<double,
      3> gain_map_gamma,\n    std::array<double, 3> base_offset, std::array<double,
      3> alternate_offset,\n    double base_hdr_headroom, double alternate_hdr_headroom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:74,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:89,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - SCOPED_TRACE
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:105,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:107,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:120,1
    - Dst: log2
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:123,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - c_str
    - SCOPED_TRACE
    - ASSERT_NE
    - log2
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAppleJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:143,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_GT
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, IgnoreGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:195,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:221,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMPAllDefaultValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:255,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ExtendedXmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidNumberOfValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, WrongVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, EmptyXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:54,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:57,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:60,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:61,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 8
    argNames:
    - ' gm'
    - gain_map_min
    - gain_map_max
    - gain_map_gamma
    - base_offset
    - alternate_offset
    - base_hdr_headroom
    - alternate_hdr_headroom
    argTypes:
    - avifGainMap
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: avif::CheckGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 5
    functionsReached:
    - static_cast<double>
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadata(\n    const avifGainMap& gm, std::array<double,
      3> gain_map_min,\n    std::array<double, 3> gain_map_max, std::array<double,
      3> gain_map_gamma,\n    std::array<double, 3> base_offset, std::array<double,
      3> alternate_offset,\n    double base_hdr_headroom, double alternate_hdr_headroom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:74,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:89,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - SCOPED_TRACE
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:105,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:107,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:120,1
    - Dst: log2
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:123,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - c_str
    - SCOPED_TRACE
    - ASSERT_NE
    - log2
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAppleJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:143,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_GT
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, IgnoreGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:195,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:221,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMPAllDefaultValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:255,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ExtendedXmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidNumberOfValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, WrongVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, EmptyXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:54,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:57,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:60,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:61,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 8
    argNames:
    - ' gm'
    - gain_map_min
    - gain_map_max
    - gain_map_gamma
    - base_offset
    - alternate_offset
    - base_hdr_headroom
    - alternate_hdr_headroom
    argTypes:
    - avifGainMap
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: avif::CheckGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 10
    functionsReached:
    - static_cast<double>
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadata(\n    const avifGainMap& gm, std::array<double,
      3> gain_map_min,\n    std::array<double, 3> gain_map_max, std::array<double,
      3> gain_map_gamma,\n    std::array<double, 3> base_offset, std::array<double,
      3> alternate_offset,\n    double base_hdr_headroom, double alternate_hdr_headroom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:74,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:89,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - SCOPED_TRACE
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:105,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:107,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:120,1
    - Dst: log2
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:123,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - c_str
    - SCOPED_TRACE
    - ASSERT_NE
    - log2
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAppleJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:143,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_GT
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, IgnoreGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:195,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:221,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMPAllDefaultValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:255,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ExtendedXmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidNumberOfValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, WrongVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, EmptyXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:26,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:28,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:30,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:33,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:35,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:37,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:40,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:42,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:44,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:47,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:49,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:51,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:54,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:55,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:57,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:58,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:60,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:61,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:64,1
    - Dst: EXPECT_NEAR
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    - Dst: static_cast<double>
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 8
    argNames:
    - ' gm'
    - gain_map_min
    - gain_map_max
    - gain_map_gamma
    - base_offset
    - alternate_offset
    - base_hdr_headroom
    - alternate_hdr_headroom
    argTypes:
    - avifGainMap
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - std::array<double, 3>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: avif::CheckGainMapMetadata
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 15
    functionsReached:
    - static_cast<double>
    - EXPECT_NEAR
    linkageType: ''
    returnType: void
    signature: "void CheckGainMapMetadata(\n    const avifGainMap& gm, std::array<double,
      3> gain_map_min,\n    std::array<double, 3> gain_map_max, std::array<double,
      3> gain_map_gamma,\n    std::array<double, 3> base_offset, std::array<double,
      3> alternate_offset,\n    double base_hdr_headroom, double alternate_hdr_headroom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:74,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:82,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:89,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - SCOPED_TRACE
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:105,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:107,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:108,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:113,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:120,1
    - Dst: log2
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:123,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - avif::CheckGainMapMetadata
    - EXPECT_EQ
    - c_str
    - SCOPED_TRACE
    - ASSERT_NE
    - log2
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ReadAppleJpegWithGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:142,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:143,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_GT
    - ASSERT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, IgnoreGainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:194,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:195,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:220,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:221,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ParseXMPAllDefaultValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:254,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:255,1
    - Dst: avif::CheckGainMapMetadata
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avif::CheckGainMapMetadata
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - std::string::size
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, ExtendedXmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:293,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidNumberOfValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:309,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, WrongVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:324,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, InvalidXMP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::data
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: std::string::size
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:332,1
    - Dst: GainMapPtr::get
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - avifJPEGParseGainMapXMP
    - GainMapPtr::get
    - EXPECT_FALSE
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(JpegTest, EmptyXMP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:342,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifjpeggainmaptest.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 351
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifImageYUVToRGB
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifImageFreePlanes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, OpaqueIsNoOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, GrayAImagePremultiplyAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, AGrayImagePremultiplyAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifImageYUVToRGB
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifImageFreePlanes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, OpaqueIsNoOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, GrayAImagePremultiplyAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, AGrayImagePremultiplyAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifImageYUVToRGB
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifImageFreePlanes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, OpaqueIsNoOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, GrayAImagePremultiplyAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, AGrayImagePremultiplyAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:27,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:30,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:37,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:39,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:42,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:45,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:47,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:49,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    - Dst: avif::testutil::AreByteSequencesEqual
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 61
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::AreByteSequencesEqual
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifImageYUVToRGB
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifImageFreePlanes
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, OpaqueIsNoOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:70,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:72,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, GrayAImagePremultiplyAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:83,1
    - Dst: memset
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:85,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/tests/gtest/avifalphapremtest.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifalphapremtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifRGBImageAllocatePixels
    - EXPECT_EQ
    - avifRGBImagePremultiplyAlpha
    - memset
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void TEST(AlphaMultiplyTest, AGrayImagePremultiplyAlpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:23,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:25,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(LosslessTest, YCGCO_RO)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:47,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:50,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:62,1
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' file_path'
    - pixel_format
    - matrix_coefficients
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - avifMatrixCoefficients
    - avifBool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: avif::ReadImageSimple
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - c_str
    - get
    - avifReadImage
    - ASSERT_NE
    - reset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void ReadImageSimple(const std::string& file_path, avifPixelFormat
      pixel_format,\n                     avifMatrixCoefficients matrix_coefficients,\n
      \                    avifBool ignore_icc, ImagePtr& image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:73,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:75,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:77,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' is_gray'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: avif::GetIsGray
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - c_str
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void GetIsGray(const std::string& path, bool& is_gray)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: avif::GetIsGray
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: avif::ReadImageSimple
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:141,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:158,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:160,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - avif::GetIsGray
    - avif::ReadImageSimple
    - ASSERT_TRUE
    - std::get<2>
    - std::string
    - avifResultToString
    - GetParam
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - static_cast<avifMatrixCoefficients>
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: void
    signature: void TEST_P(EncodeDecodeMemory, RoundTrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:23,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:25,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(LosslessTest, YCGCO_RO)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:47,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:50,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:62,1
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' file_path'
    - pixel_format
    - matrix_coefficients
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - avifMatrixCoefficients
    - avifBool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: avif::ReadImageSimple
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    - c_str
    - get
    - avifReadImage
    - ASSERT_NE
    - reset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void ReadImageSimple(const std::string& file_path, avifPixelFormat
      pixel_format,\n                     avifMatrixCoefficients matrix_coefficients,\n
      \                    avifBool ignore_icc, ImagePtr& image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:73,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:75,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:77,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' is_gray'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: avif::GetIsGray
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 1
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - c_str
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void GetIsGray(const std::string& path, bool& is_gray)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: avif::GetIsGray
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: avif::ReadImageSimple
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:141,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:158,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:160,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - avif::GetIsGray
    - avif::ReadImageSimple
    - ASSERT_TRUE
    - std::get<2>
    - std::string
    - avifResultToString
    - GetParam
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - static_cast<avifMatrixCoefficients>
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: void
    signature: void TEST_P(EncodeDecodeMemory, RoundTrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:23,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:25,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(LosslessTest, YCGCO_RO)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:47,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:50,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:62,1
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' file_path'
    - pixel_format
    - matrix_coefficients
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - avifMatrixCoefficients
    - avifBool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: avif::ReadImageSimple
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - c_str
    - get
    - avifReadImage
    - ASSERT_NE
    - reset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void ReadImageSimple(const std::string& file_path, avifPixelFormat
      pixel_format,\n                     avifMatrixCoefficients matrix_coefficients,\n
      \                    avifBool ignore_icc, ImagePtr& image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:73,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:75,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:77,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' is_gray'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: avif::GetIsGray
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 2
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - c_str
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void GetIsGray(const std::string& path, bool& is_gray)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: avif::GetIsGray
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: avif::ReadImageSimple
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:141,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:158,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:160,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - avif::GetIsGray
    - avif::ReadImageSimple
    - ASSERT_TRUE
    - std::get<2>
    - std::string
    - avifResultToString
    - GetParam
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - static_cast<avifMatrixCoefficients>
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: void
    signature: void TEST_P(EncodeDecodeMemory, RoundTrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:21,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:23,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:25,1
    - Dst: std::string::c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:26,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:31,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::string::c_str
    - avifReadImage
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    linkageType: ''
    returnType: void
    signature: void TEST(LosslessTest, YCGCO_RO)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:46,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:47,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:49,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:50,1
    - Dst: get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:55,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:62,1
    - Dst: reset
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:63,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' file_path'
    - pixel_format
    - matrix_coefficients
    - ignore_icc
    - ' image'
    argTypes:
    - std::string
    - avifPixelFormat
    - avifMatrixCoefficients
    - avifBool
    - ImagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: avif::ReadImageSimple
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - c_str
    - get
    - avifReadImage
    - ASSERT_NE
    - reset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: "void ReadImageSimple(const std::string& file_path, avifPixelFormat
      pixel_format,\n                     avifMatrixCoefficients matrix_coefficients,\n
      \                    avifBool ignore_icc, ImagePtr& image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:73,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:75,1
    - Dst: avifReadImage
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:77,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' is_gray'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: avif::GetIsGray
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 3
    functionsReached:
    - ImagePtr::get
    - avifReadImage
    - c_str
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void GetIsGray(const std::string& path, bool& is_gray)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:97,1
    - Dst: static_cast<avifMatrixCoefficients>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:99,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:101,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: avif::GetIsGray
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:105,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: avif::ReadImageSimple
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:141,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:154,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:158,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:160,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:161,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:163,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - avif::GetIsGray
    - avif::ReadImageSimple
    - ASSERT_TRUE
    - std::get<2>
    - std::string
    - avifResultToString
    - GetParam
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - static_cast<avifMatrixCoefficients>
    - ImagePtr::get
    - EncoderPtr::get
    - ASSERT_EQ
    - ASSERT_NO_FATAL_FAILURE
    - avifEncoderWrite
    - std::get<0>
    - ASSERT_NE
    - DecoderPtr::get
    - std::get<1>
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: void
    signature: void TEST_P(EncodeDecodeMemory, RoundTrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:186,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/aviflosslesstest.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/aviflosslesstest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:54,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:61,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:66,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifscaletest.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:69,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - std::get<1>
    - static_cast<uint32_t>
    - EXPECT_EQ
    - EXPECT_GT
    - std::get<0>
    - avifImageCopy
    - std::get<2>
    - avifImageScale
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(ScaleTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - avifImageScale
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(ScaleTest, LargerThanDefaultLimits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:54,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:61,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:66,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifscaletest.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:69,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - std::get<1>
    - static_cast<uint32_t>
    - EXPECT_EQ
    - EXPECT_GT
    - std::get<0>
    - avifImageCopy
    - std::get<2>
    - avifImageScale
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(ScaleTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - avifImageScale
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(ScaleTest, LargerThanDefaultLimits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:54,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:61,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:66,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifscaletest.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:69,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - std::get<1>
    - static_cast<uint32_t>
    - EXPECT_EQ
    - EXPECT_GT
    - std::get<0>
    - avifImageCopy
    - std::get<2>
    - avifImageScale
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(ScaleTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - avifImageScale
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(ScaleTest, LargerThanDefaultLimits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:30,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:31,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avifscaletest.cc:32,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:35,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:38,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:47,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/libavif/tests/gtest/avifscaletest.cc:52,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:54,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:59,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:61,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifscaletest.cc:66,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifscaletest.cc:68,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:69,1
    - Dst: EXPECT_LT
      Src: /src/libavif/tests/gtest/avifscaletest.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_LT
    - std::get<1>
    - static_cast<uint32_t>
    - EXPECT_EQ
    - EXPECT_GT
    - std::get<0>
    - avifImageCopy
    - std::get<2>
    - avifImageScale
    - ASSERT_NE
    - GetParam
    - ImagePtr::get
    - avif::testutil::GetPsnr
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST_P(ScaleTest, Roundtrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifscaletest.cc:81,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:88,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:90,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: avifImageScale
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifscaletest.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - avifImageScale
    - ASSERT_NE
    - ImagePtr::get
    - EXPECT_NE
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(ScaleTest, LargerThanDefaultLimits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifscaletest.cc:101,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifscaletest.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifscaletest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:30,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:33,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:34,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:35,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:36,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:37,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:39,1
    - Dst: avif::testutil::ImageToGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:45,1
    - Dst: std::vector::empty
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:47,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:48,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:49,1
    - Dst: release
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:50,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:55,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avif::testutil::UniquePtrToRawPtr
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:56,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:62,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:63,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:68,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:70,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:71,1
    - Dst: std::min
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:72,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:73,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:74,1
    - Dst: std::vector::front
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:76,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:82,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:86,1
    - Dst: avif::testutil::DecodeNonIncrementallyAndIncrementally
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:90,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:91,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 7
    argNames:
    - image
    - encoder
    - decoder
    - grid_cols
    - grid_rows
    - is_encoded_data_persistent
    - give_size_hint_to_decoder
    argTypes:
    - ImagePtr
    - EncoderPtr
    - DecoderPtr
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: avif::testutil::EncodeDecodeGridValid
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
    functionUses: 0
    functionsReached:
    - std::vector::front
    - ASSERT_TRUE
    - avifEncoderAddImageGrid
    - std::vector::size
    - avifGainMapCreate
    - avif::testutil::ImageToGrid
    - avifEncoderFinish
    - avifResultToString
    - avifAreGridDimensionsValid
    - EncoderPtr::get
    - ImagePtr::get
    - ASSERT_EQ
    - release
    - avif::testutil::UniquePtrToRawPtr
    - avif::testutil::DecodeNonIncrementallyAndIncrementally
    - std::vector::empty
    - std::min
    - ASSERT_NE
    - DecoderPtr::get
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeGridValid(ImagePtr image, EncoderPtr encoder,\n                           DecoderPtr
      decoder, uint32_t grid_cols,\n                           uint32_t grid_rows,
      bool is_encoded_data_persistent,\n                           bool give_size_hint_to_decoder)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:56,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:66,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:77,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:92,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:114,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif16bittest.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:127,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:129,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: avifImageApplyOperations
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 156
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - std::memcpy
    - std::get<6>
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - static_cast<int>
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avifImageApplyOperations
    - EncoderPtr::get
    - ImagePtr::get
    - std::memcmp
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - EXPECT_TRUE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformTest, Avif16bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif16bittest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:257,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: avif::CreateGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifImageSetViewRect
    - avifGainMapCreate
    - ASSERT_NE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void CreateGainMap(avifImage* image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:285,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:298,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:306,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:307,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:308,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:317,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:336,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:352,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:357,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:359,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:360,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 364
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - avifImageSetViewRect
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - GetParam
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::CreateGainMap
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(GainmapSampleTransformTest, ImageContentToDecode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avif16bittest.cc:382,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:383,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif16bittest.cc:387,1
    - Dst: std::ifstream
      Src: /src/libavif/tests/gtest/avif16bittest.cc:389,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:391,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:394,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:396,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:410,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:411,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:426,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:428,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:430,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:437,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 444
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - EXPECT_LE
    - avif::testutil::GetPsnr
    - DecoderPtr::get
    - std::vector::size
    - avifDecoderReadMemory
    - ASSERT_TRUE
    - std::ifstream
    - std::memcmp
    - std::vector::data
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Avif16bitTest, SampleTransformWithOtherBitDepths)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:56,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:66,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:77,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:92,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:114,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif16bittest.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:127,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:129,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: avifImageApplyOperations
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 156
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - std::memcpy
    - std::get<6>
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - static_cast<int>
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avifImageApplyOperations
    - EncoderPtr::get
    - ImagePtr::get
    - std::memcmp
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - EXPECT_TRUE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformTest, Avif16bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif16bittest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:257,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: avif::CreateGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    - avifImageSetViewRect
    - avifGainMapCreate
    - ASSERT_NE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void CreateGainMap(avifImage* image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:285,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:298,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:306,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:307,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:308,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:317,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:336,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:352,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:357,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:359,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:360,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 364
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - avifImageSetViewRect
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - GetParam
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::CreateGainMap
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(GainmapSampleTransformTest, ImageContentToDecode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avif16bittest.cc:382,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:383,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif16bittest.cc:387,1
    - Dst: std::ifstream
      Src: /src/libavif/tests/gtest/avif16bittest.cc:389,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:391,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:394,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:396,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:410,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:411,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:426,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:428,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:430,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:437,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 444
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - EXPECT_LE
    - avif::testutil::GetPsnr
    - DecoderPtr::get
    - std::vector::size
    - avifDecoderReadMemory
    - ASSERT_TRUE
    - std::ifstream
    - std::memcmp
    - std::vector::data
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Avif16bitTest, SampleTransformWithOtherBitDepths)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:56,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:66,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:77,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:92,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:114,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif16bittest.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:127,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:129,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: avifImageApplyOperations
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 156
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - std::memcpy
    - std::get<6>
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - static_cast<int>
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avifImageApplyOperations
    - EncoderPtr::get
    - ImagePtr::get
    - std::memcmp
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - EXPECT_TRUE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformTest, Avif16bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif16bittest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:257,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: avif::CreateGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - avifImageSetViewRect
    - avifGainMapCreate
    - ASSERT_NE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void CreateGainMap(avifImage* image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:285,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:298,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:306,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:307,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:308,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:317,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:336,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:352,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:357,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:359,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:360,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 364
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - avifImageSetViewRect
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - GetParam
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::CreateGainMap
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(GainmapSampleTransformTest, ImageContentToDecode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avif16bittest.cc:382,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:383,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif16bittest.cc:387,1
    - Dst: std::ifstream
      Src: /src/libavif/tests/gtest/avif16bittest.cc:389,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:391,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:394,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:396,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:410,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:411,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:426,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:428,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:430,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:437,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 444
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - EXPECT_LE
    - avif::testutil::GetPsnr
    - DecoderPtr::get
    - std::vector::size
    - avifDecoderReadMemory
    - ASSERT_TRUE
    - std::ifstream
    - std::memcmp
    - std::vector::data
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Avif16bitTest, SampleTransformWithOtherBitDepths)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:31,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:32,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:33,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:34,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:35,1
    - Dst: std::get<5>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:36,1
    - Dst: std::get<6>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:37,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:39,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:41,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:56,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:66,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:67,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:68,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:69,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:77,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:78,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:81,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:89,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:92,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:97,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:106,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:108,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:114,1
    - Dst: std::memcpy
      Src: /src/libavif/tests/gtest/avif16bittest.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:119,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:121,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:123,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:127,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:128,1
    - Dst: static_cast<int>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:129,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:131,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:138,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: avifImageApplyOperations
      Src: /src/libavif/tests/gtest/avif16bittest.cc:145,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    - Dst: avif::testutil::AreImagesEqual
      Src: /src/libavif/tests/gtest/avif16bittest.cc:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 156
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - std::memcpy
    - std::get<6>
    - avifImageSetViewRect
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - static_cast<int>
    - std::get<5>
    - GetParam
    - std::get<3>
    - avif::testutil::AreImagesEqual
    - avifDecoderReadMemory
    - avifImageApplyOperations
    - EncoderPtr::get
    - ImagePtr::get
    - std::memcmp
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - EXPECT_TRUE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampleTransformTest, Avif16bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapCreate
      Src: /src/libavif/tests/gtest/avif16bittest.cc:256,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:257,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:258,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: avif::CreateGainMap
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 3
    functionsReached:
    - ASSERT_EQ
    - avifImageSetViewRect
    - avifGainMapCreate
    - ASSERT_NE
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void CreateGainMap(avifImage* image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:273,1
    - Dst: std::get<1>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:274,1
    - Dst: std::get<2>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:275,1
    - Dst: std::get<3>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:276,1
    - Dst: std::get<4>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: GetParam
      Src: /src/libavif/tests/gtest/avif16bittest.cc:277,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:280,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:285,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:294,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:298,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:306,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/tests/gtest/avif16bittest.cc:307,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:308,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:313,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:317,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:318,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:321,1
    - Dst: avif::CreateGainMap
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:322,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:324,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:336,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:341,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:351,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:352,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:356,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:357,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:358,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:359,1
    - Dst: EXPECT_GE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:360,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 364
    functionName: avif::TEST_P
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - std::get<4>
    - avifEncoderAddImageGrid
    - avif::testutil::ReadImage
    - avifImageSetViewRect
    - avifEncoderAddImage
    - std::get<2>
    - avifEncoderFinish
    - avifImageSetMetadataXMP
    - GetParam
    - std::get<3>
    - avifDecoderReadMemory
    - EncoderPtr::get
    - ImagePtr::get
    - avif::CreateGainMap
    - ASSERT_EQ
    - DecoderPtr::get
    - std::get<0>
    - ASSERT_NE
    - std::get<1>
    - avif::testutil::GetPsnr
    - avifImageCreateEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(GainmapSampleTransformTest, ImageContentToDecode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avif16bittest.cc:382,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avif16bittest.cc:383,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avif16bittest.cc:387,1
    - Dst: std::ifstream
      Src: /src/libavif/tests/gtest/avif16bittest.cc:389,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:390,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:391,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:394,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:396,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:399,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:400,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:410,1
    - Dst: std::memcmp
      Src: /src/libavif/tests/gtest/avif16bittest.cc:411,1
    - Dst: ASSERT_TRUE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:423,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:426,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:428,1
    - Dst: avifDecoderReadMemory
      Src: /src/libavif/tests/gtest/avif16bittest.cc:430,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::data
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: std::vector::size
      Src: /src/libavif/tests/gtest/avif16bittest.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif16bittest.cc:437,1
    - Dst: EXPECT_LE
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avif16bittest.cc:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 444
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - reinterpret_cast<char*>
    - EXPECT_LE
    - avif::testutil::GetPsnr
    - DecoderPtr::get
    - std::vector::size
    - avifDecoderReadMemory
    - ASSERT_TRUE
    - std::ifstream
    - std::memcmp
    - std::vector::data
    - std::string
    - ASSERT_NE
    - ImagePtr::get
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Avif16bitTest, SampleTransformWithOtherBitDepths)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avif16bittest.cc:452,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avif16bittest.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 461
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avif16bittest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:22,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:30,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: first::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: second::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:49,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:52,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:89,1
    - Dst: avif::testutil::AvifIOCreateLimitedReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:94,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:97,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: reinterpret_cast<testutil::AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - codec
    - ' init_cs_options'
    - can_encode
    - use_cq
    argTypes:
    - avifCodecChoice
    - std::map<std::string, std::string>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 107
    functionName: avif::TestEncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avifDecoderSetIO
    - avif::testutil::AvifIOCreateLimitedReader
    - second::c_str
    - avifIOCreateMemoryReader
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - avifDecoderParse
    - avifEncoderFinish
    - first::c_str
    - avifEncoderSetCodecSpecificOption
    - EncoderPtr::get
    - ImagePtr::get
    - GTEST_SKIP
    - ASSERT_EQ
    - avifDecoderNextImage
    - ASSERT_NE
    - reinterpret_cast<testutil::AvifIOLimitedReader*>
    - DecoderPtr::get
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: "void TestEncodeDecode(avifCodecChoice codec,\n                      const
      std::map<std::string, std::string>& init_cs_options,\n                      bool
      can_encode, bool use_cq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:111,1
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, AOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, RAV1E)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SVT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:128,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:135,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableSetting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:171,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:178,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageColorRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:206,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:208,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:212,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:215,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:236,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageChromaSamplePosition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:257,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:273,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:284,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 303
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:306,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:308,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:312,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:315,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:317,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:320,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:322,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:323,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:325,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:327,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:330,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:332,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:335,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:337,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:340,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:342,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SetCodecSpecificOptionWithNull)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:22,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:30,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: first::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: second::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:49,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:52,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:89,1
    - Dst: avif::testutil::AvifIOCreateLimitedReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:94,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:97,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: reinterpret_cast<testutil::AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - codec
    - ' init_cs_options'
    - can_encode
    - use_cq
    argTypes:
    - avifCodecChoice
    - std::map<std::string, std::string>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 107
    functionName: avif::TestEncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 3
    functionsReached:
    - avifDecoderSetIO
    - avif::testutil::AvifIOCreateLimitedReader
    - second::c_str
    - avifIOCreateMemoryReader
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - avifDecoderParse
    - avifEncoderFinish
    - first::c_str
    - avifEncoderSetCodecSpecificOption
    - EncoderPtr::get
    - ImagePtr::get
    - GTEST_SKIP
    - ASSERT_EQ
    - avifDecoderNextImage
    - ASSERT_NE
    - reinterpret_cast<testutil::AvifIOLimitedReader*>
    - DecoderPtr::get
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: "void TestEncodeDecode(avifCodecChoice codec,\n                      const
      std::map<std::string, std::string>& init_cs_options,\n                      bool
      can_encode, bool use_cq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:111,1
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, AOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, RAV1E)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SVT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:128,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:135,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableSetting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:171,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:178,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageColorRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:206,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:208,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:212,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:215,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:236,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageChromaSamplePosition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:257,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:273,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:284,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 303
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 5
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:306,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:308,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:312,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:315,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:317,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:320,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:322,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:323,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:325,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:327,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:330,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:332,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:335,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:337,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:340,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:342,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SetCodecSpecificOptionWithNull)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:22,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:30,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: first::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: second::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:49,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:52,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:89,1
    - Dst: avif::testutil::AvifIOCreateLimitedReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:94,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:97,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: reinterpret_cast<testutil::AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - codec
    - ' init_cs_options'
    - can_encode
    - use_cq
    argTypes:
    - avifCodecChoice
    - std::map<std::string, std::string>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 107
    functionName: avif::TestEncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 6
    functionsReached:
    - avifDecoderSetIO
    - avif::testutil::AvifIOCreateLimitedReader
    - second::c_str
    - avifIOCreateMemoryReader
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - avifDecoderParse
    - avifEncoderFinish
    - first::c_str
    - avifEncoderSetCodecSpecificOption
    - EncoderPtr::get
    - ImagePtr::get
    - GTEST_SKIP
    - ASSERT_EQ
    - avifDecoderNextImage
    - ASSERT_NE
    - reinterpret_cast<testutil::AvifIOLimitedReader*>
    - DecoderPtr::get
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: "void TestEncodeDecode(avifCodecChoice codec,\n                      const
      std::map<std::string, std::string>& init_cs_options,\n                      bool
      can_encode, bool use_cq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:111,1
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, AOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, RAV1E)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SVT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:128,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:135,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableSetting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:171,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:178,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageColorRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:206,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:208,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:212,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:215,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:236,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageChromaSamplePosition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:257,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:273,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:284,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 303
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 6
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:306,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:308,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:312,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:315,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:317,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:320,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:322,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:323,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:325,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:327,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:330,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:332,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:335,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:337,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:340,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:342,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SetCodecSpecificOptionWithNull)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:22,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:23,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:27,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:30,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:31,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:35,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:41,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: first::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: second::c_str
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:42,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:49,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:50,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:52,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:60,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:89,1
    - Dst: avif::testutil::AvifIOCreateLimitedReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:94,1
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:95,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:97,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:98,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:101,1
    - Dst: reinterpret_cast<testutil::AvifIOLimitedReader*>
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - codec
    - ' init_cs_options'
    - can_encode
    - use_cq
    argTypes:
    - avifCodecChoice
    - std::map<std::string, std::string>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 107
    functionName: avif::TestEncodeDecode
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 9
    functionsReached:
    - avifDecoderSetIO
    - avif::testutil::AvifIOCreateLimitedReader
    - second::c_str
    - avifIOCreateMemoryReader
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - avifDecoderParse
    - avifEncoderFinish
    - first::c_str
    - avifEncoderSetCodecSpecificOption
    - EncoderPtr::get
    - ImagePtr::get
    - GTEST_SKIP
    - ASSERT_EQ
    - avifDecoderNextImage
    - ASSERT_NE
    - reinterpret_cast<testutil::AvifIOLimitedReader*>
    - DecoderPtr::get
    - avifCodecName
    linkageType: ''
    returnType: void
    signature: "void TestEncodeDecode(avifCodecChoice codec,\n                      const
      std::map<std::string, std::string>& init_cs_options,\n                      bool
      can_encode, bool use_cq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:111,1
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, AOM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, RAV1E)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::TestEncodeDecode
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - avif::TestEncodeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SVT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:128,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:132,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:135,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:136,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:140,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:148,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EncoderPtr::get
    - avif::testutil::FillImageGradient
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableSetting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:171,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:178,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:180,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:195,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageColorRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:206,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:208,1
    - Dst: avif::testutil::CreateImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:212,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:215,1
    - Dst: avif::testutil::FillImagePlain
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:217,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:225,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:228,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:236,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ImagePtr::get
    - EncoderPtr::get
    - avif::testutil::CreateImage
    - avifEncoderAddImage
    - ASSERT_NE
    - avif::testutil::FillImagePlain
    - avifCodecName
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, UnchangeableImageChromaSamplePosition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:250,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:251,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:257,1
    - Dst: avifImageCopy
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:258,1
    - Dst: avif::testutil::FillImageGradient
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:260,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:270,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:273,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:281,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:284,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ImagePtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:289,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:293,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:294,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:297,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:299,1
    - Dst: ASSERT_GT
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:300,1
    - Dst: std::vector
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - key
    - value_before_first_frame
    - value_after_first_frame
    - value_before_second_frame
    - ' encoded_bitstream'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 303
    functionName: avif::EncodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 7
    functionsReached:
    - ASSERT_EQ
    - std::vector
    - avif::testutil::GetPsnr
    - ASSERT_GT
    - EncoderPtr::get
    - avifDecoderNextImage
    - DecoderPtr::get
    - avif::testutil::FillImageGradient
    - avifDecoderSetIOMemory
    - avifEncoderSetCodecSpecificOption
    - avifImageCopy
    - avifEncoderAddImage
    - ASSERT_NE
    - ImagePtr::get
    - avifDecoderParse
    - avifEncoderFinish
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: "void EncodeAnimation(const char* key, const char* value_before_first_frame,\n
      \                    const char* value_after_first_frame,\n                     const
      char* value_before_second_frame,\n                     std::vector<uint8_t>&
      encoded_bitstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:306,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:308,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:312,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:315,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:317,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:320,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:322,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:323,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:325,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:327,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:330,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:332,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:335,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:337,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:340,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:342,1
    - Dst: avif::EncodeAnimation
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - EXPECT_EQ
    - avif::EncodeAnimation
    - avifCodecName
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(ChangeSettingTest, SetCodecSpecificOptionWithNull)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:354,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifchangesettingtest.cc:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifchangesettingtest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:32,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ColorGridAlphaNoGrid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:37,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:38,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:56,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ParseEmptyData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - static_cast<avifImageContentTypeFlag>
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeColorXorAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:88,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:91,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:97,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avif::testutil::GetPsnr
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, Idat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:32,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ColorGridAlphaNoGrid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:37,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:38,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:56,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ParseEmptyData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - static_cast<avifImageContentTypeFlag>
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeColorXorAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:88,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:91,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:97,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avif::testutil::GetPsnr
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, Idat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:32,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ColorGridAlphaNoGrid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:37,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:38,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:56,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ParseEmptyData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - static_cast<avifImageContentTypeFlag>
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeColorXorAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:88,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:91,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:97,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avif::testutil::GetPsnr
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, Idat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:18,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:19,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:24,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:25,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:26,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:31,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:32,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avifDecoderSetIOFile
    - c_str
    - DecoderPtr::get
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ColorGridAlphaNoGrid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:37,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:38,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:51,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:53,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:56,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:57,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeNone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:70,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ParseEmptyData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:79,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:81,1
    - Dst: static_cast<avifImageContentTypeFlag>
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:82,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - static_cast<avifImageContentTypeFlag>
    - avifDecoderSetIOMemory
    - ASSERT_NE
    - DecoderPtr::get
    - avifDecoderParse
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, ImageContentToDecodeColorXorAlpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avif::testutil::Av1DecoderAvailable
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:88,1
    - Dst: avif::testutil::ReadImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:91,1
    - Dst: SCOPED_TRACE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:97,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:99,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:100,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: std::string
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: c_str
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:105,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:107,1
    - Dst: EXPECT_GT
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    - Dst: avif::testutil::GetPsnr
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_NE
    - avif::testutil::GetPsnr
    - avifDecoderSetIOFile
    - SCOPED_TRACE
    - DecoderPtr::get
    - c_str
    - avifDecoderParse
    - EXPECT_EQ
    - avifDecoderNextImage
    - EXPECT_GT
    - std::string
    - ASSERT_NE
    - avif::testutil::Av1DecoderAvailable
    - GTEST_SKIP
    - avif::testutil::ReadImage
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, Idat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: avif::TEST
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: void
    signature: void TEST(AvifDecodeTest, PeekCompatibleFileTypeBad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::InitGoogleTest
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:135,1
    - Dst: RUN_ALL_TESTS
      Src: /src/libavif/tests/gtest/avifdecodetest.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/libavif/tests/gtest/avifdecodetest.cc
    functionUses: 0
    functionsReached:
    - ::testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:28,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:29,1
    - Dst: ASSERT_NE
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:31,1
    - Dst: std::vector<ImagePtr>::size
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:33,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:40,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:42,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:43,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:46,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:47,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:51,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:53,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:56,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:57,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:58,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:62,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:65,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:69,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:75,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:78,1
    - Dst: avifResultToString
      Src: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - frames
    - ' frame_options'
    - encoder
    - decoder
    argTypes:
    - std::vector<ImagePtr>
    - std::vector<FrameOptions>
    - EncoderPtr
    - DecoderPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: avif::testutil::EncodeDecodeAnimation
    functionSourceFile: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - avifResultToString
    - EXPECT_EQ
    - avifDecoderNextImage
    - DecoderPtr::get
    - avifDecoderSetIOMemory
    - std::vector<ImagePtr>::size
    - avifEncoderAddImage
    - ASSERT_NE
    - EncoderPtr::get
    - avifDecoderParse
    - get
    - avifEncoderFinish
    linkageType: ''
    returnType: void
    signature: "void EncodeDecodeAnimation(std::vector<ImagePtr> frames,\n                           const
      std::vector<FrameOptions>& frame_options,\n                           EncoderPtr
      encoder, DecoderPtr decoder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::testutil::avifBreakOnError
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::testutil::avifBreakOnError
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::testutil::avifBreakOnError
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: avif::testutil::avifBreakOnError
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/tests/gtest/avifincrtest_helpers.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: avifGainMapSetEncodingDefaults
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifGainMapSetEncodingDefaults(avifGainMap * gainMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - avifSignedFraction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: avifSignedFractionToFloat
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float avifSignedFractionToFloat(avifSignedFraction f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - avifUnsignedFraction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: avifUnsignedFractionToFloat
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float avifUnsignedFractionToFloat(avifUnsignedFraction f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:46,1
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:47,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hdrHeadroom
    - gainMap
    argTypes:
    - float
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: avifGetGainMapWeight
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached:
    - avifUnsignedFractionToFloat
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifGetGainMapWeight(float hdrHeadroom, const avifGainMap * gainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - w
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: lerp
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float lerp(float a, float b, float w)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/gainmap.c:76,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:79,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:83,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:86,1
    - Dst: avifGainMapValidateMetadata
      Src: /src/libavif/src/gainmap.c:86,1
    - Dst: memset
      Src: /src/libavif/src/gainmap.c:101,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:106,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:106,1
    - Dst: avifGetGainMapWeight
      Src: /src/libavif/src/gainmap.c:110,1
    - Dst: assert
      Src: /src/libavif/src/gainmap.c:116,1
    - Dst: assert
      Src: /src/libavif/src/gainmap.c:117,1
    - Dst: memcpy
      Src: /src/libavif/src/gainmap.c:119,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:125,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:125,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:126,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/src/gainmap.c:131,1
    - Dst: avifTransferCharacteristicsGetLinearToGammaFunction
      Src: /src/libavif/src/gainmap.c:132,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:138,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:139,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:147,1
    - Dst: gammaToLinear
      Src: /src/libavif/src/gainmap.c:150,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:153,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:156,1
    - Dst: linearToGamma
      Src: /src/libavif/src/gainmap.c:156,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/src/gainmap.c:159,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:168,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:169,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:174,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:175,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/gainmap.c:181,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/src/gainmap.c:183,1
    - Dst: avifImageScale
      Src: /src/libavif/src/gainmap.c:187,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/src/gainmap.c:194,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:195,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/src/gainmap.c:199,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:205,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:206,1
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:214,1
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:215,1
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:216,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:217,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:218,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:219,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:220,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:221,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:222,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:223,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:224,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:225,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:226,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:227,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:228,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:232,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:234,1
    - Dst: gammaToLinear
      Src: /src/libavif/src/gainmap.c:241,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:246,1
    - Dst: lerp
      Src: /src/libavif/src/gainmap.c:254,1
    - Dst: powf
      Src: /src/libavif/src/gainmap.c:254,1
    - Dst: exp2f
      Src: /src/libavif/src/gainmap.c:255,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:269,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:273,1
    - Dst: linearToGamma
      Src: /src/libavif/src/gainmap.c:273,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/src/gainmap.c:278,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:287,1
    - Dst: avifRoundf
      Src: /src/libavif/src/gainmap.c:287,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:289,1
    - Dst: avifRoundf
      Src: /src/libavif/src/gainmap.c:289,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/gainmap.c:293,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/gainmap.c:295,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 138
    argCount: 10
    argNames:
    - baseImage
    - baseColorPrimaries
    - baseTransferCharacteristics
    - gainMap
    - hdrHeadroom
    - outputColorPrimaries
    - outputTransferCharacteristics
    - toneMappedImage
    - clli
    - diag
    argTypes:
    - avifRGBImage*
    - avifColorPrimaries
    - avifTransferCharacteristics
    - avifGainMap*
    - float
    - avifColorPrimaries
    - avifTransferCharacteristics
    - avifRGBImage*
    - avifContentLightLevelInformationBox*
    - avifDiagnostics*
    assertStmts:
    - condition: (baseImage->rowBytes == toneMappedImage->rowBytes)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/libavif/src/gainmap.c
    - condition: (baseImage->height == toneMappedImage->height)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/libavif/src/gainmap.c
    constantsTouched: []
    func_position:
      end: 299
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 299
    functionName: avifRGBImageApplyGainMap
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifRGBImageAllocatePixels
    - avifGetRGBAPixel
    - assert
    - avifGetGainMapWeight
    - avifUnsignedFractionToFloat
    - linearToGamma
    - gammaToLinear
    - avifImageSetViewRect
    - avifGainMapValidateMetadata
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - avifImageYUVToRGB
    - avifImageScale
    - AVIF_CLAMP
    - memset
    - avifRGBImageSetDefaults
    - avifRGBImageFreePixels
    - avifLinearRGBConvertColorSpace
    - avifColorPrimariesComputeRGBToRGBMatrix
    - powf
    - avifDiagnosticsClearError
    - memcpy
    - lerp
    - exp2f
    - avifSetRGBAPixel
    - avifImageDestroy
    - AVIF_CHECKRES
    - avifSignedFractionToFloat
    - avifDiagnosticsPrintf
    - avifRoundf
    - avifTransferCharacteristicsGetLinearToGammaFunction
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifRGBImageApplyGainMap(const avifRGBImage * baseImage,\n
      \                                   avifColorPrimaries baseColorPrimaries,\n
      \                                   avifTransferCharacteristics baseTransferCharacteristics,\n
      \                                   const avifGainMap * gainMap,\n                                    float
      hdrHeadroom,\n                                    avifColorPrimaries outputColorPrimaries,\n
      \                                   avifTransferCharacteristics outputTransferCharacteristics,\n
      \                                   avifRGBImage * toneMappedImage,\n                                    avifContentLightLevelInformationBox
      * clli,\n                                    avifDiagnostics * diag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/gainmap.c:310,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:313,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/src/gainmap.c:318,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:319,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:319,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/src/gainmap.c:320,1
    - Dst: avifRGBImageApplyGainMap
      Src: /src/libavif/src/gainmap.c:325,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/gainmap.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - baseImage
    - gainMap
    - hdrHeadroom
    - outputColorPrimaries
    - outputTransferCharacteristics
    - toneMappedImage
    - clli
    - diag
    argTypes:
    - avifImage*
    - avifGainMap*
    - float
    - avifColorPrimaries
    - avifTransferCharacteristics
    - avifRGBImage*
    - avifContentLightLevelInformationBox*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 340
    functionName: avifImageApplyGainMap
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 4
    functionsReached:
    - avifRGBImageAllocatePixels
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - avifDiagnosticsClearError
    - avifImageYUVToRGB
    - avifRGBImageApplyGainMap
    - avifRGBImageSetDefaults
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageApplyGainMap(const avifImage * baseImage,\n                                 const
      avifGainMap * gainMap,\n                                 float hdrHeadroom,\n
      \                                avifColorPrimaries outputColorPrimaries,\n
      \                                avifTransferCharacteristics outputTransferCharacteristics,\n
      \                                avifRGBImage * toneMappedImage,\n                                 avifContentLightLevelInformationBox
      * clli,\n                                 avifDiagnostics * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:349,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:350,1
    - Dst: avifRoundf
      Src: /src/libavif/src/gainmap.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - v
    - bucketMin
    - bucketMax
    - numBuckets
    argTypes:
    - float
    - float
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: avifValueToBucketIdx
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached:
    - avifRoundf
    - AVIF_MIN
    - AVIF_CLAMP
    linkageType: ''
    returnType: int
    signature: int avifValueToBucketIdx(float v, float bucketMin, float bucketMax,
      int numBuckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - idx
    - bucketMin
    - bucketMax
    - numBuckets
    argTypes:
    - int
    - float
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: avifBucketIdxToValue
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float avifBucketIdxToValue(int idx, float bucketMin, float bucketMax,
      int numBuckets)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifRoundf
      Src: /src/libavif/src/gainmap.c:362,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:367,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/gainmap.c:368,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:378,1
    - Dst: ceilf
      Src: /src/libavif/src/gainmap.c:378,1
    - Dst: avifAlloc
      Src: /src/libavif/src/gainmap.c:379,1
    - Dst: memset
      Src: /src/libavif/src/gainmap.c:383,1
    - Dst: avifValueToBucketIdx
      Src: /src/libavif/src/gainmap.c:385,1
    - Dst: avifBucketIdxToValue
      Src: /src/libavif/src/gainmap.c:396,1
    - Dst: avifBucketIdxToValue
      Src: /src/libavif/src/gainmap.c:407,1
    - Dst: avifFree
      Src: /src/libavif/src/gainmap.c:411,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - gainMapF
    - numPixels
    - rangeMin
    - rangeMax
    argTypes:
    - float*
    - size_t
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 413
    functionName: avifFindMinMaxWithoutOutliers
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 16
    functionsReached:
    - avifFree
    - avifValueToBucketIdx
    - AVIF_MIN
    - avifAlloc
    - avifRoundf
    - memset
    - avifBucketIdxToValue
    - ceilf
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifFindMinMaxWithoutOutliers(const float * gainMapF, size_t
      numPixels, float * rangeMin, float * rangeMax)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:420,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:425,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:429,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:434,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - gainMap
    - diag
    argTypes:
    - avifGainMap*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 442
    functionName: avifGainMapValidateMetadata
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 1
    functionsReached:
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifGainMapValidateMetadata(const avifGainMap * gainMap,
      avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avifGainMap*
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 460
    functionName: avifSameGainMapMetadata
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifSameGainMapMetadata(const avifGainMap * a, const avifGainMap
      * b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/gainmap.c:464,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avifGainMap*
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: avifSameGainMapAltMetadata
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 8
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifSameGainMapAltMetadata(const avifGainMap * a, const avifGainMap
      * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:494,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:495,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:504,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:506,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:510,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - basePrimaries
    - altPrimaries
    - gainMapMathColorSpace
    argTypes:
    - avifColorPrimaries
    - avifColorPrimaries
    - avifColorPrimaries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 518
    functionName: avifChooseColorSpaceForGainMapMath
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 0
    functionsReached:
    - avifColorPrimariesComputeRGBToRGBMatrix
    - avifLinearRGBConvertColorSpace
    - AVIF_MIN
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifChooseColorSpaceForGainMapMath(avifColorPrimaries basePrimaries,\n
      \                                                    avifColorPrimaries altPrimaries,\n
      \                                                    avifColorPrimaries * gainMapMathColorSpace)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/gainmap.c:529,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/gainmap.c:531,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:533,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:538,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:543,1
    - Dst: avifChooseColorSpaceForGainMapMath
      Src: /src/libavif/src/gainmap.c:543,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:549,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:549,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:550,1
    - Dst: memset
      Src: /src/libavif/src/gainmap.c:556,1
    - Dst: avifAlloc
      Src: /src/libavif/src/gainmap.c:571,1
    - Dst: avifGainMapSetEncodingDefaults
      Src: /src/libavif/src/gainmap.c:578,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/src/gainmap.c:581,1
    - Dst: avifTransferCharacteristicsGetGammaToLinearFunction
      Src: /src/libavif/src/gainmap.c:582,1
    - Dst: avifColorPrimariesComputeYCoeffs
      Src: /src/libavif/src/gainmap.c:584,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:589,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:590,1
    - Dst: avifColorPrimariesComputeRGBToRGBMatrix
      Src: /src/libavif/src/gainmap.c:595,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:596,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:603,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:604,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:605,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:606,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:607,1
    - Dst: avifSignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:608,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:619,1
    - Dst: altGammaToLinear
      Src: /src/libavif/src/gainmap.c:628,1
    - Dst: baseGammaToLinear
      Src: /src/libavif/src/gainmap.c:630,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:633,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:635,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:647,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/gainmap.c:649,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:661,1
    - Dst: avifGetRGBAPixel
      Src: /src/libavif/src/gainmap.c:663,1
    - Dst: baseGammaToLinear
      Src: /src/libavif/src/gainmap.c:667,1
    - Dst: altGammaToLinear
      Src: /src/libavif/src/gainmap.c:668,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:674,1
    - Dst: avifLinearRGBConvertColorSpace
      Src: /src/libavif/src/gainmap.c:677,1
    - Dst: log2f
      Src: /src/libavif/src/gainmap.c:696,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/gainmap.c:696,1
    - Dst: log2f
      Src: /src/libavif/src/gainmap.c:703,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/gainmap.c:703,1
    - Dst: log2f
      Src: /src/libavif/src/gainmap.c:704,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/gainmap.c:704,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/src/gainmap.c:705,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/src/gainmap.c:706,1
    - Dst: avifFindMinMaxWithoutOutliers
      Src: /src/libavif/src/gainmap.c:728,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/src/gainmap.c:736,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/src/gainmap.c:737,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/src/gainmap.c:738,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/src/gainmap.c:739,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/gainmap.c:747,1
    - Dst: avifUnsignedFractionToFloat
      Src: /src/libavif/src/gainmap.c:759,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:763,1
    - Dst: powf
      Src: /src/libavif/src/gainmap.c:764,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/gainmap.c:765,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/gainmap.c:777,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/gainmap.c:778,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/src/gainmap.c:783,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:784,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/gainmap.c:790,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:791,1
    - Dst: avifSetRGBAPixel
      Src: /src/libavif/src/gainmap.c:801,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/src/gainmap.c:805,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:813,1
    - Dst: avifImageScale
      Src: /src/libavif/src/gainmap.c:813,1
    - Dst: avifFree
      Src: /src/libavif/src/gainmap.c:818,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/gainmap.c:820,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/gainmap.c:822,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 193
    argCount: 8
    argNames:
    - baseRgbImage
    - baseColorPrimaries
    - baseTransferCharacteristics
    - altRgbImage
    - altColorPrimaries
    - altTransferCharacteristics
    - gainMap
    - diag
    argTypes:
    - avifRGBImage*
    - avifColorPrimaries
    - avifTransferCharacteristics
    - avifRGBImage*
    - avifColorPrimaries
    - avifTransferCharacteristics
    - avifGainMap*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 826
    functionName: avifRGBImageComputeGainMap
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 4
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifRGBImageAllocatePixels
    - avifGetRGBAPixel
    - avifImageAllocatePlanes
    - avifUnsignedFractionToFloat
    - avifFindMinMaxWithoutOutliers
    - avifImageFreePlanes
    - avifChooseColorSpaceForGainMapMath
    - AVIF_MIN
    - avifTransferCharacteristicsGetGammaToLinearFunction
    - avifColorPrimariesComputeYCoeffs
    - avifImageScale
    - AVIF_CLAMP
    - memset
    - AVIF_CHECKERR
    - avifRGBImageSetDefaults
    - avifLinearRGBConvertColorSpace
    - avifImageRGBToYUV
    - avifRGBImageFreePixels
    - avifFree
    - avifColorPrimariesComputeRGBToRGBMatrix
    - powf
    - baseGammaToLinear
    - avifDiagnosticsClearError
    - avifGainMapSetEncodingDefaults
    - avifSetRGBAPixel
    - log2f
    - AVIF_CHECKRES
    - avifSignedFractionToFloat
    - avifAlloc
    - avifDiagnosticsPrintf
    - avifDoubleToUnsignedFraction
    - avifDoubleToSignedFraction
    - altGammaToLinear
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifRGBImageComputeGainMap(const avifRGBImage * baseRgbImage,\n
      \                                     avifColorPrimaries baseColorPrimaries,\n
      \                                     avifTransferCharacteristics baseTransferCharacteristics,\n
      \                                     const avifRGBImage * altRgbImage,\n                                      avifColorPrimaries
      altColorPrimaries,\n                                      avifTransferCharacteristics
      altTransferCharacteristics,\n                                      avifGainMap
      * gainMap,\n                                      avifDiagnostics * diag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/gainmap.c:830,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:836,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/gainmap.c:840,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/src/gainmap.c:852,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/src/gainmap.c:854,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:856,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:856,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/src/gainmap.c:859,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/src/gainmap.c:863,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/src/gainmap.c:867,1
    - Dst: avifRGBImageComputeGainMap
      Src: /src/libavif/src/gainmap.c:872,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/gainmap.c:885,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/gainmap.c:885,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/gainmap.c:894,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/gainmap.c:895,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - baseImage
    - altImage
    - gainMap
    - diag
    argTypes:
    - avifImage*
    - avifImage*
    - avifGainMap*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 828
    functionDepth: 4
    functionLinenumber: 828
    functionLinenumberEnd: 897
    functionName: avifImageComputeGainMap
    functionSourceFile: /src/libavif/src/gainmap.c
    functionUses: 4
    functionsReached:
    - avifRGBImageAllocatePixels
    - avifRWDataSet
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - avifDiagnosticsClearError
    - avifImageYUVToRGB
    - avifRGBImageComputeGainMap
    - avifRGBImageSetDefaults
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageComputeGainMap(const avifImage * baseImage, const
      avifImage * altImage, avifGainMap * gainMap, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/write.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: floorLog2
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int floorLog2(uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/write.c:69,1
    - Dst: floorLog2
      Src: /src/libavif/src/write.c:71,1
    - Dst: assert
      Src: /src/libavif/src/write.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - dim1
    - dim2
    - tilesLog2
    - tileDim1Log2
    - tileDim2Log2
    argTypes:
    - uint32_t
    - uint32_t
    - int
    - int*
    - int*
    assertStmts:
    - condition: (dim1 >= dim2)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/libavif/src/write.c
    - condition: (*tileDim1Log2 >= *tileDim2Log2)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: splitTilesLog2
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - floorLog2
    - assert
    linkageType: ''
    returnType: void
    signature: void splitTilesLog2(uint32_t dim1, uint32_t dim2, int tilesLog2, int
      * tileDim1Log2, int * tileDim2Log2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: floorLog2
      Src: /src/libavif/src/write.c:111,1
    - Dst: splitTilesLog2
      Src: /src/libavif/src/write.c:114,1
    - Dst: splitTilesLog2
      Src: /src/libavif/src/write.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - threads
    - width
    - height
    - tileRowsLog2
    - tileColsLog2
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 119
    functionName: avifSetTileConfiguration
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 2
    functionsReached:
    - floorLog2
    - splitTilesLog2
    linkageType: ''
    returnType: void
    signature: void avifSetTileConfiguration(int threads, uint32_t width, uint32_t
      height, int * tileRowsLog2, int * tileColsLog2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/write.c:126,1
    - Dst: memset
      Src: /src/libavif/src/write.c:130,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:131,1
    - Dst: avifCodecEncodeOutputDestroy
      Src: /src/libavif/src/write.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: avifCodecEncodeOutputCreate
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - memset
    - avifAlloc
    - avifCodecEncodeOutputDestroy
    - avifArrayCreate
    linkageType: ''
    returnType: avifCodecEncodeOutput
    signature: avifCodecEncodeOutput * avifCodecEncodeOutputCreate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:140,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:141,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/write.c:142,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/write.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - encodeOutput
    - data
    - len
    - sync
    argTypes:
    - avifCodecEncodeOutput*
    - uint8_t*
    - size_t
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: avifCodecEncodeOutputAddSample
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifRWDataSet
    - avifArrayPush
    - avifArrayPop
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCodecEncodeOutputAddSample(avifCodecEncodeOutput * encodeOutput,
      const uint8_t * data, size_t len, avifBool sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/src/write.c:154,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:156,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encodeOutput
    argTypes:
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: avifCodecEncodeOutputDestroy
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifCodecEncodeOutputDestroy(avifCodecEncodeOutput * encodeOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/write.c:262,1
    - Dst: memset
      Src: /src/libavif/src/write.c:266,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/write.c:267,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/write.c:271,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:275,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:278,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:281,1
    - Dst: avifEncoderDataDestroy
      Src: /src/libavif/src/write.c:287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: avifEncoderDataCreate
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifEncoderDataDestroy
    - avifAlloc
    - memset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifEncoderData
    signature: avifEncoderData * avifEncoderDataCreate(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:293,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:299,1
    - Dst: avifCodecEncodeOutputCreate
      Src: /src/libavif/src/write.c:302,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:307,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:310,1
    - Dst: avifCodecEncodeOutputDestroy
      Src: /src/libavif/src/write.c:317,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:319,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/write.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - data
    - type
    - infeName
    - infeNameSize
    - cellIndex
    argTypes:
    - avifEncoderData*
    - char*
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: avifEncoderDataCreateItem
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifCodecEncodeOutputDestroy
    - avifCodecEncodeOutputCreate
    - avifArrayPop
    - avifArrayPush
    - memcpy
    - avifArrayDestroy
    linkageType: ''
    returnType: avifEncoderItem
    signature: avifEncoderItem * avifEncoderDataCreateItem(avifEncoderData * data,
      const char * type, const char * infeName, size_t infeNameSize, uint32_t cellIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - avifEncoderData*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: avifEncoderDataFindItemByID
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifEncoderItem
    signature: avifEncoderItem * avifEncoderDataFindItemByID(avifEncoderData * data,
      uint16_t id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/write.c:341,1
    - Dst: avifCodecEncodeOutputDestroy
      Src: /src/libavif/src/write.c:343,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/write.c:344,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:345,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:346,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:349,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:352,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:354,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:355,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:356,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifEncoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: avifEncoderDataDestroy
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifImageDestroy
    - avifCodecEncodeOutputDestroy
    - avifRWDataFree
    - avifArrayDestroy
    - avifCodecDestroy
    linkageType: ''
    returnType: void
    signature: void avifEncoderDataDestroy(avifEncoderData * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:362,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:363,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - item
    - s
    argTypes:
    - avifEncoderItem*
    - avifRWStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: avifEncoderItemAddMdatFixup
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifRWStreamOffset
    - avifArrayPush
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderItemAddMdatFixup(avifEncoderItem * item, const
      avifRWStream * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/write.c:389,1
    - Dst: memset
      Src: /src/libavif/src/write.c:393,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:394,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:395,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/write.c:398,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:399,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: avifItemPropertyDedupCreate
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - avifFree
    - avifArrayCreate
    - avifAlloc
    - avifArrayDestroy
    - memset
    linkageType: ''
    returnType: avifItemPropertyDedup
    signature: avifItemPropertyDedup * avifItemPropertyDedupCreate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:408,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/write.c:409,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dedup
    argTypes:
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: avifItemPropertyDedupDestroy
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifItemPropertyDedupDestroy(avifItemPropertyDedup * dedup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dedup
    argTypes:
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: avifItemPropertyDedupStart
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamStart
    linkageType: ''
    returnType: void
    signature: void avifItemPropertyDedupStart(avifItemPropertyDedup * dedup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:433,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:438,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:441,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:448,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:449,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:450,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:453,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:454,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:454,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:458,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - dedup
    - outputStream
    - associations
    - essential
    argTypes:
    - avifItemPropertyDedup*
    - avifRWStream*
    - avifItemPropertyAssociationArray*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 463
    functionName: avifItemPropertyDedupFinish
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamOffset
    - AVIF_CHECKRES
    - memcmp
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifRWStreamWrite
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifItemPropertyDedupFinish(avifItemPropertyDedup * dedup,\n
      \                                             avifRWStream * outputStream,\n
      \                                             avifItemPropertyAssociationArray
      * associations,\n                                              avifBool essential)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/write.c:471,1
    - Dst: memset
      Src: /src/libavif/src/write.c:475,1
    - Dst: avifEncoderDataCreate
      Src: /src/libavif/src/write.c:493,1
    - Dst: avifCodecSpecificOptionsCreate
      Src: /src/libavif/src/write.c:494,1
    - Dst: avifEncoderDestroy
      Src: /src/libavif/src/write.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 504
    functionName: avifEncoderCreate
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifCodecSpecificOptionsCreate
    - avifAlloc
    - avifEncoderDestroy
    - memset
    - avifEncoderDataCreate
    linkageType: ''
    returnType: avifEncoder
    signature: avifEncoder * avifEncoderCreate(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecSpecificOptionsDestroy
      Src: /src/libavif/src/write.c:509,1
    - Dst: avifEncoderDataDestroy
      Src: /src/libavif/src/write.c:512,1
    - Dst: avifFree
      Src: /src/libavif/src/write.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: avifEncoderDestroy
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - avifEncoderDataDestroy
    - avifCodecSpecificOptionsDestroy
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifEncoderDestroy(avifEncoder * encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecSpecificOptionsSet
      Src: /src/libavif/src/write.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - encoder
    - key
    - value
    argTypes:
    - avifEncoder*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: avifEncoderSetCodecSpecificOption
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 28
    functionsReached:
    - avifCodecSpecificOptionsSet
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderSetCodecSpecificOption(avifEncoder * encoder,
      const char * key, const char * value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 546
    functionName: avifEncoderBackupSettings
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifEncoderBackupSettings(avifEncoder * encoder)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/write.c:592,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - encoder
    - encoderChanges
    argTypes:
    - avifEncoder*
    - avifEncoderChanges*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 604
    functionName: avifEncoderDetectChanges
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifEncoderDetectChanges(const avifEncoder * encoder, avifEncoderChanges
      * encoderChanges)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:614,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:617,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:617,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:618,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:618,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:619,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:619,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:620,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:620,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:621,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:621,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:622,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:622,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:623,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:623,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:624,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:626,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - dedupStream
    - outputStream
    - imageMetadata
    - associations
    - dedup
    argTypes:
    - avifRWStream*
    - avifRWStream*
    - avifImage*
    - avifItemPropertyAssociationArray*
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 629
    functionName: avifEncoderWriteNclxProperty
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBox
    - avifRWStreamWriteChars
    - avifItemPropertyDedupStart
    - AVIF_CHECKRES
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamFinishBox
    - avifItemPropertyDedupFinish
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteNclxProperty(avifRWStream * dedupStream,\n
      \                                              avifRWStream * outputStream,\n
      \                                              const avifImage * imageMetadata,\n
      \                                              avifItemPropertyAssociationArray
      * associations,\n                                               avifItemPropertyDedup
      * dedup)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:664,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:672,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:675,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:675,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:676,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:676,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:677,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:677,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:678,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:680,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:680,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:686,1
    - Dst: avifEncoderWriteNclxProperty
      Src: /src/libavif/src/write.c:686,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:688,1
    - Dst: avifEncoderWritePaspProperty
      Src: /src/libavif/src/write.c:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - outputStream
    - imageMetadata
    - associations
    - dedup
    argTypes:
    - avifRWStream*
    - avifImage*
    - avifItemPropertyAssociationArray*
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 691
    functionName: avifEncoderWriteColorProperties
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifEncoderWritePaspProperty
    - avifRWStreamWriteBox
    - avifRWStreamWriteChars
    - avifItemPropertyDedupStart
    - AVIF_CHECKRES
    - avifEncoderWriteNclxProperty
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWrite
    - avifRWStreamFinishBox
    - avifItemPropertyDedupFinish
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteColorProperties(avifRWStream * outputStream,\n
      \                                                 const avifImage * imageMetadata,\n
      \                                                 avifItemPropertyAssociationArray
      * associations,\n                                                  avifItemPropertyDedup
      * dedup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:696,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:696,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:697,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - outputStream
    - clli
    argTypes:
    - avifRWStream*
    - avifContentLightLevelInformationBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: avifEncoderWriteContentLightLevelInformation
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifRWStreamWriteBits
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteContentLightLevelInformation(avifRWStream
      * outputStream,\n                                                               const
      avifContentLightLevelInformationBox * clli)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:711,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:714,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:714,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:715,1
    - Dst: avifEncoderWriteContentLightLevelInformation
      Src: /src/libavif/src/write.c:715,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:716,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:718,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - dedupStream
    - outputStream
    - imageMetadata
    - associations
    - dedup
    argTypes:
    - avifRWStream*
    - avifRWStream*
    - avifImage*
    - avifItemPropertyAssociationArray*
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 725
    functionName: avifEncoderWriteHDRProperties
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBox
    - avifItemPropertyDedupStart
    - AVIF_CHECKRES
    - avifEncoderWriteContentLightLevelInformation
    - avifRWStreamFinishBox
    - avifItemPropertyDedupFinish
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteHDRProperties(avifRWStream * dedupStream,\n
      \                                               avifRWStream * outputStream,\n
      \                                               const avifImage * imageMetadata,\n
      \                                               avifItemPropertyAssociationArray
      * associations,\n                                                avifItemPropertyDedup
      * dedup)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:736,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:736,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:737,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:737,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:738,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:738,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:739,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:739,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:740,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:740,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:741,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:741,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:745,1
    - Dst: avifEncoderWriteContentLightLevelInformation
      Src: /src/libavif/src/write.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - outputStream
    - imageMetadata
    argTypes:
    - avifRWStream*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 763
    functionName: avifEncoderWriteMiniHDRProperties
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifRWStreamWriteBits
    - avifEncoderWriteContentLightLevelInformation
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteMiniHDRProperties(avifRWStream * outputStream,
      const avifImage * imageMetadata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:774,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:777,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:777,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:778,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:778,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:779,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:779,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:780,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:782,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - dedupStream
    - outputStream
    - imageMetadata
    - associations
    - dedup
    argTypes:
    - avifRWStream*
    - avifRWStream*
    - avifImage*
    - avifItemPropertyAssociationArray*
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 786
    functionName: avifEncoderWritePaspProperty
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - avifRWStreamWriteBox
    - avifItemPropertyDedupStart
    - AVIF_CHECKRES
    - avifRWStreamWriteU32
    - avifRWStreamFinishBox
    - avifItemPropertyDedupFinish
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWritePaspProperty(avifRWStream * dedupStream,\n
      \                                              avifRWStream * outputStream,\n
      \                                              const avifImage * imageMetadata,\n
      \                                              avifItemPropertyAssociationArray
      * associations,\n                                               avifItemPropertyDedup
      * dedup)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:796,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:799,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:799,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:800,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:800,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:801,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:801,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:802,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:802,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:803,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:803,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:804,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:804,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:805,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:805,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:806,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:806,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:807,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:807,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:808,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:810,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:810,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:815,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:818,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:818,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:819,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:819,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:820,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:820,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:821,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:823,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:823,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:828,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:831,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:831,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:832,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:832,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:833,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:833,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:834,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:836,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:836,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - dedupStream
    - outputStream
    - imageMetadata
    - associations
    - dedup
    argTypes:
    - avifRWStream*
    - avifRWStream*
    - avifImage*
    - avifItemPropertyAssociationArray*
    - avifItemPropertyDedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 840
    functionName: avifEncoderWriteTransformativeProperties
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBox
    - avifItemPropertyDedupStart
    - AVIF_CHECKRES
    - avifRWStreamWriteBits
    - avifRWStreamWriteU32
    - avifRWStreamFinishBox
    - avifItemPropertyDedupFinish
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteTransformativeProperties(avifRWStream *
      dedupStream,\n                                                           avifRWStream
      * outputStream,\n                                                           const
      avifImage * imageMetadata,\n                                                           avifItemPropertyAssociationArray
      * associations,\n                                                           avifItemPropertyDedup
      * dedup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:845,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:845,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:846,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:846,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:847,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:847,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:848,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:848,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:849,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:849,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - s
    - handlerType
    argTypes:
    - avifRWStream*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 852
    functionName: avifRWStreamWriteHandlerBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteFullBox
    - avifRWStreamWriteZeros
    - avifRWStreamWriteChars
    - AVIF_CHECKRES
    - avifRWStreamWriteU32
    - avifRWStreamFinishBox
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteHandlerBox(avifRWStream * s, const char
      handlerType[4])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/write.c:862,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:872,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:872,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:874,1
    - Dst: avifRWStreamWriteHandlerBox
      Src: /src/libavif/src/write.c:874,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:877,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:877,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:878,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:878,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:879,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:879,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:880,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:880,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:881,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:881,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:882,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:882,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:885,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:890,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:890,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:891,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:891,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:892,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:892,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:893,1
    - Dst: avifEncoderItemAddMdatFixup
      Src: /src/libavif/src/write.c:893,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:894,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:894,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:895,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:895,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:897,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:900,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:900,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:901,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:901,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:904,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:908,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:910,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:910,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:911,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:911,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:912,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:912,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:913,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:913,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:914,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:914,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:916,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:916,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:918,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:920,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:922,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - encoder
    - s
    argTypes:
    - avifEncoder*
    - avifRWStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 924
    functionName: avifEncoderWriteTrackMetaBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteFullBox
    - avifRWStreamWriteChars
    - AVIF_CHECKRES
    - memcmp
    - avifEncoderItemAddMdatFixup
    - avifRWStreamFinishBox
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWriteHandlerBox
    - avifRWStreamWrite
    - avifRWStreamWriteU32
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteTrackMetaBox(avifEncoder * encoder, avifRWStream
      * s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:942,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:943,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:943,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:944,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:944,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:945,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:945,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:946,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:946,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:948,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:948,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:949,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:949,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:953,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:953,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:954,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:954,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/src/write.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - data
    - gridCols
    - gridRows
    - gridWidth
    - gridHeight
    argTypes:
    - avifRWData*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 958
    functionName: avifWriteGridPayload
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteU8
    - avifRWStreamFinishWrite
    - AVIF_CHECKRES
    - avifRWStreamWriteU16
    - avifRWStreamStart
    - avifRWStreamWriteU32
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifWriteGridPayload(avifRWData * data, uint32_t gridCols,
      uint32_t gridRows, uint32_t gridWidth, uint32_t gridHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: avifGainMapIdenticalChannels
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGainMapIdenticalChannels(const avifGainMap * gainMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapIdenticalChannels
      Src: /src/libavif/src/write.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: avifGainMapMetadataSize
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifGainMapIdenticalChannels
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifGainMapMetadataSize(const avifGainMap * gainMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:985,1
    - Dst: avifGainMapValidateMetadata
      Src: /src/libavif/src/write.c:985,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:986,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:992,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:992,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:994,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:994,1
    - Dst: avifGainMapIdenticalChannels
      Src: /src/libavif/src/write.c:997,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:998,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:998,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:999,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:999,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1000,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1000,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1002,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1002,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1003,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1003,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1004,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1004,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1005,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1005,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1010,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1010,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1011,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1011,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1012,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1012,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1013,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1013,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1014,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1014,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1015,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1015,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1016,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1016,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1017,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1017,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1018,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1018,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1019,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1019,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1023,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:1023,1
    - Dst: avifGainMapMetadataSize
      Src: /src/libavif/src/write.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - s
    - gainMap
    - diag
    argTypes:
    - avifRWStream*
    - avifGainMap*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 1025
    functionName: avifWriteGainmapMetadata
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamOffset
    - avifGainMapMetadataSize
    - AVIF_CHECKRES
    - avifGainMapValidateMetadata
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWriteBits
    - avifGainMapIdenticalChannels
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifWriteGainmapMetadata(avifRWStream * s, const avifGainMap
      * gainMap, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:1030,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1034,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:1034,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1036,1
    - Dst: avifWriteGainmapMetadata
      Src: /src/libavif/src/write.c:1036,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/src/write.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - gainMap
    - diag
    argTypes:
    - avifRWData*
    - avifGainMap*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1040
    functionName: avifWriteToneMappedImagePayload
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifWriteGainmapMetadata
    - avifRWStreamWriteU8
    - avifRWStreamFinishWrite
    - AVIF_CHECKRES
    - avifRWStreamStart
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifWriteToneMappedImagePayload(avifRWData * data, const
      avifGainMap * gainMap, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: avifEncoderGetGainMapSizeBytes
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avifEncoderGetGainMapSizeBytes(avifEncoder * encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1054,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/write.c:1054,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/write.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - altImageMetadata
    - imageWithGainMap
    - gridWidth
    - gridHeight
    argTypes:
    - avifImage*
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1065
    functionName: avifImageCopyAltImageMetadata
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifRWDataSet
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageCopyAltImageMetadata(avifImage * altImageMetadata,
      const avifImage * imageWithGainMap, uint32_t gridWidth, uint32_t gridHeight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1069,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1070,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:1070,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1076,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:1076,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1078,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:1078,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1080,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:1080,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1083,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - expression
    argTypes:
    - avifRWStream*
    - avifSampleTransformExpression*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1087
    functionName: avifEncoderWriteSampleTransformTokens
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWriteU8
    - avifRWStreamWriteU32
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteSampleTransformTokens(avifRWStream * s,
      const avifSampleTransformExpression * expression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:1092,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1093,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1093,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1094,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1094,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1097,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:1097,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1100,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/src/write.c:1100,1
    - Dst: avifEncoderWriteSampleTransformTokens
      Src: /src/libavif/src/write.c:1101,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:1102,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1104,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/src/write.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - encoder
    - data
    argTypes:
    - avifEncoder*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1110
    functionName: avifEncoderWriteSampleTransformPayload
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifEncoderWriteSampleTransformTokens
    - AVIF_CHECKRES
    - avifRWStreamFinishWrite
    - avifDiagnosticsPrintf
    - avifRWStreamStart
    - avifRWStreamWriteBits
    - avifArrayDestroy
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteSampleTransformPayload(avifEncoder * encoder,
      avifRWData * data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/src/write.c:1115,1
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1121,1
    - Dst: avifHTONL
      Src: /src/libavif/src/write.c:1128,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1129,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/write.c:1129,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:1130,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - exif
    argTypes:
    - avifEncoderData*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1133
    functionName: avifEncoderDataCreateExifItem
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - avifGetExifTiffHeaderOffset
    - AVIF_CHECKRES
    - memcpy
    - avifHTONL
    - avifEncoderDataCreateItem
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderDataCreateExifItem(avifEncoderData * data, const
      avifRWData * exif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1137,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1146,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/write.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - xmp
    argTypes:
    - avifEncoderData*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1148
    functionName: avifEncoderDataCreateXMPItem
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifRWDataSet
    - avifEncoderDataCreateItem
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderDataCreateXMPItem(avifEncoderData * data, const
      avifRWData * xmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1153,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1154,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1155,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1156,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1159,1
    - Dst: avifImageCopy
      Src: /src/libavif/src/write.c:1159,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1164,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/write.c:1164,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1167,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/write.c:1167,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/write.c:1169,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/write.c:1171,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/write.c:1172,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/write.c:1173,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/write.c:1174,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/write.c:1177,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/write.c:1178,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/write.c:1179,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/write.c:1180,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:1184,1
    - Dst: memset
      Src: /src/libavif/src/write.c:1194,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:1203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - dstImage
    - srcImage
    - dstWidth
    - dstHeight
    argTypes:
    - avifImage*
    - avifImage*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1208
    functionName: avifImageCopyAndPad
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - memset
    - avifImagePlaneHeight
    - AVIF_CHECKRES
    - avifImageAllocatePlanes
    - avifImageUsesU16
    - avifImageCopy
    - AVIF_ASSERT_OR_RETURN
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageCopyAndPad(avifImage * const dstImage, const avifImage
      * srcImage, uint32_t dstWidth, uint32_t dstHeight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/write.c:1218,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/write.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - quality
    - minQuantizer
    - maxQuantizer
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1225
    functionName: avifGetQuality
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CLAMP
    linkageType: ''
    returnType: int
    signature: int avifGetQuality(int quality, int minQuantizer, int maxQuantizer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - itemCategory
    argTypes:
    - avifItemCategory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1244
    functionName: getInfeName
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifIsAlpha
    linkageType: ''
    returnType: char
    signature: char * getInfeName(avifItemCategory itemCategory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getInfeName
      Src: /src/libavif/src/write.c:1259,1
    - Dst: strlen
      Src: /src/libavif/src/write.c:1260,1
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1263,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1264,1
    - Dst: avifWriteGridPayload
      Src: /src/libavif/src/write.c:1264,1
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1275,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1276,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1277,1
    - Dst: avifCodecCreate
      Src: /src/libavif/src/write.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - encoder
    - gridCols
    - gridRows
    - gridWidth
    - gridHeight
    - itemCategory
    - topLevelItemID
    argTypes:
    - avifEncoder*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - avifItemCategory
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1291
    functionName: avifEncoderAddImageItems
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - strlen
    - avifCodecCreate
    - getInfeName
    - AVIF_CHECKERR
    - avifWriteGridPayload
    - avifEncoderDataCreateItem
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderAddImageItems(avifEncoder * encoder,\n                                           uint32_t
      gridCols,\n                                           uint32_t gridRows,\n                                           uint32_t
      gridWidth,\n                                           uint32_t gridHeight,\n
      \                                          avifItemCategory itemCategory,\n
      \                                          uint16_t * topLevelItemID)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1300,1
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1317,1
    - Dst: strlen
      Src: /src/libavif/src/write.c:1320,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1322,1
    - Dst: avifEncoderWriteSampleTransformPayload
      Src: /src/libavif/src/write.c:1322,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1326,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:1327,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1328,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:1330,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1331,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1335,1
    - Dst: avifEncoderAddImageItems
      Src: /src/libavif/src/write.c:1336,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1337,1
    - Dst: assert
      Src: /src/libavif/src/write.c:1338,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1345,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1346,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1347,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1348,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1354,1
    - Dst: avifEncoderAddImageItems
      Src: /src/libavif/src/write.c:1355,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1356,1
    - Dst: assert
      Src: /src/libavif/src/write.c:1357,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1362,1
    - Dst: assert
      Src: /src/libavif/src/write.c:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 6
    argNames:
    - encoder
    - gridCols
    - gridRows
    - gridWidth
    - gridHeight
    - colorItemID
    argTypes:
    - avifEncoder*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (bitDepthExtensionColorItem)
      pos:
        line_end: 1362
        line_start: 1362
        source_file: /src/libavif/src/write.c
    - condition: (bitDepthExtensionAlphaItem)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/libavif/src/write.c
    - condition: (bitDepthExtensionColorItem)
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 1369
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1369
    functionName: avifEncoderCreateBitDepthExtensionItems
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifEncoderDataFindItemByID
    - AVIF_CHECKRES
    - strlen
    - avifEncoderAddImageItems
    - avifArrayPush
    - assert
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifEncoderWriteSampleTransformPayload
    - avifEncoderDataCreateItem
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderCreateBitDepthExtensionItems(avifEncoder * encoder,\n
      \                                                         uint32_t gridCols,\n
      \                                                         uint32_t gridRows,\n
      \                                                         uint32_t gridWidth,\n
      \                                                         uint32_t gridHeight,\n
      \                                                         uint16_t colorItemID)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageApplyOperations
      Src: /src/libavif/src/write.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - result
    - inputImageItem
    - op
    - constant
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifSampleTransformTokenType
    - int32_t
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1384
    functionName: avifImageApplyImgOpConst
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifImageApplyOperations
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageApplyImgOpConst(avifImage * result,\n                                           const
      avifImage * inputImageItem,\n                                           avifSampleTransformTokenType
      op,\n                                           int32_t constant,\n                                           avifPlanesFlags
      planes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/src/write.c:1388,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1389,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/write.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sampleTransformedImage
    - reference
    - numBits
    - planes
    argTypes:
    - avifImage**
    - avifImage*
    - uint32_t
    - avifPlanesFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1391
    functionName: avifImageCreateAllocate
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifImageCreate
    - avifImageAllocatePlanes
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageCreateAllocate(avifImage ** sampleTransformedImage,
      const avifImage * reference, uint32_t numBits, avifPlanesFlag planes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/write.c:1404,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1421,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1422,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1423,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1424,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1428,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1430,1
    - Dst: avifCodecCreate
      Src: /src/libavif/src/write.c:1430,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1435,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1435,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1437,1
    - Dst: getNextImage
      Src: /src/libavif/src/write.c:1437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 7
    argNames:
    - encoder
    - cellIndex
    - original
    - numBits
    - planes
    - codec
    - decodedBaseImage
    argTypes:
    - avifEncoder*
    - uint32_t
    - avifImage*
    - uint32_t
    - avifPlanesFlag
    - avifCodec**
    - avifImage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1440
    functionName: avifEncoderDecodeSatoBaseImage
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifImageCreateAllocate
    - AVIF_CHECKRES
    - getNextImage
    - AVIF_ASSERT_OR_RETURN
    - avifCodecCreate
    - AVIF_CHECKERR
    - memset
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderDecodeSatoBaseImage(avifEncoder * encoder,\n
      \                                                uint32_t cellIndex,\n                                                 const
      avifImage * original,\n                                                 uint32_t
      numBits,\n                                                 avifPlanesFlag planes,\n
      \                                                avifCodec ** codec,\n                                                 avifImage
      ** decodedBaseImage)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:1448,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1453,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1459,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1459,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1460,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1460,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1462,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1462,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1463,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1463,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1467,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1467,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1468,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1468,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1470,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1470,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1471,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1471,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1479,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1480,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1488,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1489,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1493,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1496,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1496,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1497,1
    - Dst: avifImageApplyImgOpConst
      Src: /src/libavif/src/write.c:1497,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1499,1
    - Dst: avifImageCreateAllocate
      Src: /src/libavif/src/write.c:1499,1
    - Dst: avifEncoderDecodeSatoBaseImage
      Src: /src/libavif/src/write.c:1502,1
    - Dst: avifImageApplyOperations
      Src: /src/libavif/src/write.c:1514,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:1523,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/write.c:1526,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1528,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 5
    argNames:
    - encoder
    - item
    - itemWillBeEncodedLosslessly
    - image
    - sampleTransformedImage
    argTypes:
    - avifEncoder*
    - avifEncoderItem*
    - avifBool
    - avifImage*
    - avifImage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1442
    functionDepth: 3
    functionLinenumber: 1442
    functionLinenumberEnd: 1532
    functionName: avifEncoderCreateSatoImage
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - avifImageCreateAllocate
    - AVIF_CHECKRES
    - AVIF_ASSERT_OR_RETURN
    - avifImageApplyImgOpConst
    - avifImageApplyOperations
    - avifIsAlpha
    - avifEncoderDecodeSatoBaseImage
    - AVIF_CHECKERR
    - avifCodecDestroy
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderCreateSatoImage(avifEncoder * encoder,\n                                             const
      avifEncoderItem * item,\n                                             avifBool
      itemWillBeEncodedLosslessly,\n                                             const
      avifImage * image,\n                                             avifImage **
      sampleTransformedImage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1540,1
    - Dst: avifEncoderCreateSatoImage
      Src: /src/libavif/src/write.c:1542,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - encoder
    - item
    - itemWillBeEncodedLosslessly
    - image
    - sampleTransformedImage
    argTypes:
    - avifEncoder*
    - avifEncoderItem*
    - avifBool
    - avifImage*
    - avifImage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1534
    functionDepth: 4
    functionLinenumber: 1534
    functionLinenumberEnd: 1547
    functionName: avifEncoderCreateBitDepthExtensionImage
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifEncoderCreateSatoImage
    - avifImageDestroy
    - AVIF_ASSERT_OR_RETURN
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderCreateBitDepthExtensionImage(avifEncoder * encoder,\n
      \                                                         const avifEncoderItem
      * item,\n                                                          avifBool
      itemWillBeEncodedLosslessly,\n                                                          const
      avifImage * image,\n                                                          avifImage
      ** sampleTransformedImage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/write.c:1552,1
    - Dst: strcmp
      Src: /src/libavif/src/write.c:1553,1
    - Dst: avifCodecName
      Src: /src/libavif/src/write.c:1553,1
    - Dst: avifCodecTypeFromChoice
      Src: /src/libavif/src/write.c:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts:
    - condition: "((encoder->codecChoice != AVIF_CODEC_CHOICE_AUTO) ||\n           (strcmp(avifCodecName(encoder->codecChoice,
        AVIF_CODEC_FLAG_CAN_ENCODE), \"avm\") != 0))"
      pos:
        line_end: 1552
        line_start: 1551
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 1555
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1555
    functionName: avifEncoderGetCodecType
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifCodecTypeFromChoice
    - avifCodecName
    - strcmp
    - assert
    linkageType: ''
    returnType: avifCodecType
    signature: avifCodecType avifEncoderGetCodecType(const avifEncoder * encoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - colorItem
    - addImageFlags
    argTypes:
    - avifEncoderData*
    - avifEncoderItem*
    - avifAddImageFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1584
    functionName: avifEncoderDataShouldForceKeyframeForAlpha
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncoderDataShouldForceKeyframeForAlpha(const avifEncoderData
      * data,\n                                                           const avifEncoderItem
      * colorItem,\n                                                           avifAddImageFlags
      addImageFlags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:1595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - itemCategory
    argTypes:
    - avifItemCategory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1596
    functionName: avifGetErrorForItemCategory
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifIsAlpha
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifGetErrorForItemCategory(avifItemCategory itemCategory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gridCols
    - firstCell
    - bottomRightCell
    argTypes:
    - uint32_t
    - avifImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1601
    functionName: avifGridWidth
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifGridWidth(uint32_t gridCols, const avifImage * firstCell,
      const avifImage * bottomRightCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gridRows
    - firstCell
    - bottomRightCell
    argTypes:
    - uint32_t
    - avifImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    functionName: avifGridHeight
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifGridHeight(uint32_t gridRows, const avifImage * firstCell,
      const avifImage * bottomRightCell)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1618,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1620,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1626,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1636,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1642,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1661,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1674,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1684,1
    - Dst: avifGridWidth
      Src: /src/libavif/src/write.c:1693,1
    - Dst: avifGridHeight
      Src: /src/libavif/src/write.c:1694,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/src/write.c:1695,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 5
    argNames:
    - gridCols
    - gridRows
    - cellImages
    - validateGainMap
    - diag
    argTypes:
    - uint32_t
    - uint32_t
    - avifImage**
    - avifBool
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1700
    functionName: avifValidateGrid
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifGridWidth
    - avifAreGridDimensionsValid
    - avifDiagnosticsPrintf
    - avifGridHeight
    - AVIF_ASSERT_OR_RETURN
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifValidateGrid(uint32_t gridCols,\n                                   uint32_t
      gridRows,\n                                   const avifImage * const * cellImages,\n
      \                                  avifBool validateGainMap,\n                                   avifDiagnostics
      * diag)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecName
      Src: /src/libavif/src/write.c:1712,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1717,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1731,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1734,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1739,1
    - Dst: avifValidateGrid
      Src: /src/libavif/src/write.c:1739,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1749,1
    - Dst: avifSameGainMapAltMetadata
      Src: /src/libavif/src/write.c:1753,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1754,1
    - Dst: avifSameGainMapMetadata
      Src: /src/libavif/src/write.c:1757,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1758,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1767,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1770,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1771,1
    - Dst: avifValidateGrid
      Src: /src/libavif/src/write.c:1771,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1774,1
    - Dst: avifEncoderGetCodecType
      Src: /src/libavif/src/write.c:1805,1
    - Dst: avifGetQuality
      Src: /src/libavif/src/write.c:1823,1
    - Dst: avifGetQuality
      Src: /src/libavif/src/write.c:1830,1
    - Dst: avifGetQuality
      Src: /src/libavif/src/write.c:1836,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/write.c:1842,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/write.c:1843,1
    - Dst: avifSetTileConfiguration
      Src: /src/libavif/src/write.c:1848,1
    - Dst: avifEncoderDetectChanges
      Src: /src/libavif/src/write.c:1855,1
    - Dst: avifEncoderBackupSettings
      Src: /src/libavif/src/write.c:1858,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1868,1
    - Dst: avifImageCopy
      Src: /src/libavif/src/write.c:1868,1
    - Dst: avifGridWidth
      Src: /src/libavif/src/write.c:1870,1
    - Dst: avifGridHeight
      Src: /src/libavif/src/write.c:1871,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1874,1
    - Dst: avifImageCopyAltImageMetadata
      Src: /src/libavif/src/write.c:1875,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1880,1
    - Dst: avifEncoderAddImageItems
      Src: /src/libavif/src/write.c:1880,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/src/write.c:1897,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1906,1
    - Dst: avifEncoderAddImageItems
      Src: /src/libavif/src/write.c:1906,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1907,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1908,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1912,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1913,1
    - Dst: avifEncoderDataCreateItem
      Src: /src/libavif/src/write.c:1920,1
    - Dst: strlen
      Src: /src/libavif/src/write.c:1923,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1925,1
    - Dst: avifWriteToneMappedImagePayload
      Src: /src/libavif/src/write.c:1925,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1930,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:1931,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1932,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:1935,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1936,1
    - Dst: avifGridWidth
      Src: /src/libavif/src/write.c:1940,1
    - Dst: avifGridHeight
      Src: /src/libavif/src/write.c:1942,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1945,1
    - Dst: avifEncoderAddImageItems
      Src: /src/libavif/src/write.c:1946,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1947,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1948,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1955,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:1956,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1957,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:1958,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1967,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1969,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:1970,1
    - Dst: avifEncoderCreateBitDepthExtensionItems
      Src: /src/libavif/src/write.c:1970,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:1972,1
    - Dst: avifEncoderDataCreateExifItem
      Src: /src/libavif/src/write.c:1979,1
    - Dst: avifEncoderDataCreateXMPItem
      Src: /src/libavif/src/write.c:1986,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:1995,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2027,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2029,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2043,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2045,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/write.c:2051,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2052,1
    - Dst: avifImageCopyAndPad
      Src: /src/libavif/src/write.c:2054,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:2056,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:2062,1
    - Dst: avifEncoderDetectChanges
      Src: /src/libavif/src/write.c:2082,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2083,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:2091,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2094,1
    - Dst: avifEncoderCreateBitDepthExtensionImage
      Src: /src/libavif/src/write.c:2095,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2096,1
    - Dst: avifEncoderItem*::codec::encodeImage
      Src: /src/libavif/src/write.c:2104,1
    - Dst: avifEncoderBackupSettings
      Src: /src/libavif/src/write.c:2117,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/write.c:2122,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/write.c:2125,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2127,1
    - Dst: avifEncoderDataShouldForceKeyframeForAlpha
      Src: /src/libavif/src/write.c:2128,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:2134,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2135,1
    - Dst: avifCodecSpecificOptionsClear
      Src: /src/libavif/src/write.c:2137,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 221
    argCount: 6
    argNames:
    - encoder
    - gridCols
    - gridRows
    - cellImages
    - durationInTimescales
    - addImageFlags
    argTypes:
    - avifEncoder*
    - uint32_t
    - uint32_t
    - avifImage**
    - uint64_t
    - avifAddImageFlags
    assertStmts:
    - condition: (cellImagePlaceholder == NULL)
      pos:
        line_end: 2095
        line_start: 2095
        source_file: /src/libavif/src/write.c
    - condition: (AVIF_FALSE)
      pos:
        line_end: 2082
        line_start: 2082
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 2139
      start: 1702
    functionDepth: 5
    functionLinenumber: 1702
    functionLinenumberEnd: 2139
    functionName: avifEncoderAddImageInternal
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifGridWidth
    - avifEncoderBackupSettings
    - avifImageCopyAltImageMetadata
    - assert
    - avifImageCopy
    - avifIsAlpha
    - avifGetQuality
    - avifEncoderDataCreateItem
    - avifSameGainMapAltMetadata
    - avifImageIsOpaque
    - avifArrayPush
    - AVIF_CLAMP
    - AVIF_CHECKERR
    - avifEncoderDataShouldForceKeyframeForAlpha
    - avifSameGainMapMetadata
    - strlen
    - avifEncoderItem*::codec::encodeImage
    - avifValidateGrid
    - avifSetTileConfiguration
    - avifWriteToneMappedImagePayload
    - avifEncoderDataCreateExifItem
    - avifEncoderCreateBitDepthExtensionItems
    - avifEncoderDataCreateXMPItem
    - avifGetErrorForItemCategory
    - avifEncoderDetectChanges
    - avifImageCopyAndPad
    - avifCodecSpecificOptionsClear
    - avifEncoderCreateBitDepthExtensionImage
    - avifEncoderGetCodecType
    - avifImageDestroy
    - avifEncoderDataFindItemByID
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - avifEncoderAddImageItems
    - avifGridHeight
    - AVIF_ASSERT_OR_RETURN
    - avifCodecName
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderAddImageInternal(avifEncoder * encoder,\n                                              uint32_t
      gridCols,\n                                              uint32_t gridRows,\n
      \                                             const avifImage * const * cellImages,\n
      \                                             uint64_t durationInTimescales,\n
      \                                             avifAddImageFlags addImageFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/write.c:2143,1
    - Dst: avifEncoderAddImageInternal
      Src: /src/libavif/src/write.c:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - encoder
    - image
    - durationInTimescales
    - addImageFlags
    argTypes:
    - avifEncoder*
    - avifImage*
    - uint64_t
    - avifAddImageFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2141
    functionDepth: 6
    functionLinenumber: 2141
    functionLinenumberEnd: 2145
    functionName: avifEncoderAddImage
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 84
    functionsReached:
    - avifDiagnosticsClearError
    - avifEncoderAddImageInternal
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderAddImage(avifEncoder * encoder, const avifImage
      * image, uint64_t durationInTimescales, avifAddImageFlags addImageFlags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/write.c:2153,1
    - Dst: avifEncoderAddImageInternal
      Src: /src/libavif/src/write.c:2160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - encoder
    - gridCols
    - gridRows
    - cellImages
    - addImageFlags
    argTypes:
    - avifEncoder*
    - uint32_t
    - uint32_t
    - avifImage**
    - avifAddImageFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2147
    functionDepth: 6
    functionLinenumber: 2147
    functionLinenumberEnd: 2161
    functionName: avifEncoderAddImageGrid
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 56
    functionsReached:
    - avifDiagnosticsClearError
    - avifEncoderAddImageInternal
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderAddImageGrid(avifEncoder * encoder,\n                                   uint32_t
      gridCols,\n                                   uint32_t gridRows,\n                                   const
      avifImage * const * cellImages,\n                                   avifAddImageFlags
      addImageFlags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2165,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - s
    - mdatStartOffset
    - data
    - size
    argTypes:
    - avifRWStream*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2177
    functionName: avifEncoderFindExistingChunk
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamOffset
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t avifEncoderFindExistingChunk(avifRWStream * s, size_t mdatStartOffset,
      const uint8_t * data, size_t size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2189,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:2189,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2190,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2213,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2213,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2214,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:2219,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2229,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:2232,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2233,1
    - Dst: avifEncoderFindExistingChunk
      Src: /src/libavif/src/write.c:2244,1
    - Dst: avifEncoderFindExistingChunk
      Src: /src/libavif/src/write.c:2246,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2251,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2255,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2255,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2266,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2266,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2272,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:2273,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2274,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2274,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:2275,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/write.c:2280,1
    - Dst: avifEncoderFindExistingChunk
      Src: /src/libavif/src/write.c:2307,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2310,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2311,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2311,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2319,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:2320,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2321,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2321,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:2322,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2328,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2330,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 4
    argNames:
    - encoder
    - s
    - layeredColorItems
    - layeredAlphaItems
    argTypes:
    - avifEncoder*
    - avifRWStream*
    - avifEncoderItemReferenceArray*
    - avifEncoderItemReferenceArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2179
    functionDepth: 2
    functionLinenumber: 2179
    functionLinenumberEnd: 2332
    functionName: avifEncoderWriteMediaDataBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamOffset
    - avifRWStreamWriteBox
    - AVIF_CHECKRES
    - memcmp
    - avifRWStreamSetOffset
    - avifEncoderFindExistingChunk
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - avifIsAlpha
    - avifRWStreamWriteU32
    - AVIF_CHECKERR
    - avifRWStreamWrite
    - avifRWStreamFinishBox
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifEncoderWriteMediaDataBox(avifEncoder * encoder,\n                                               avifRWStream
      * s,\n                                               avifEncoderItemReferenceArray
      * layeredColorItems,\n                                               avifEncoderItemReferenceArray
      * layeredAlphaItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2337,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:2337,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2340,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:2340,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2342,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2342,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2343,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2343,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2345,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2345,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2348,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - s
    - groupID
    - itemIDs
    argTypes:
    - avifRWStream*
    - uint32_t
    - avifEncoderItemIdArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2353
    functionName: avifWriteAltrGroup
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteFullBox
    - avifRWStreamWriteBox
    - AVIF_CHECKRES
    - avifRWStreamWriteU32
    - avifRWStreamFinishBox
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifWriteAltrGroup(avifRWStream * s, uint32_t groupID, const
      avifEncoderItemIdArray * itemIDs)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapMetadataSize
      Src: /src/libavif/src/write.c:2390,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2439,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2461,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2462,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2465,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2465,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2466,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2469,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2469,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2470,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 82
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts:
    - condition: (item->itemCategory == AVIF_ITEM_COLOR)
      pos:
        line_end: 2461
        line_start: 2461
        source_file: /src/libavif/src/write.c
    - condition: (!colorItem)
      pos:
        line_end: 2438
        line_start: 2438
        source_file: /src/libavif/src/write.c
    - condition: (item->metadataPayload.size == encoder->data->imageMetadata->xmp.size)
      pos:
        line_end: 2465
        line_start: 2465
        source_file: /src/libavif/src/write.c
    - condition: (item->metadataPayload.size == encoder->data->imageMetadata->exif.size
        + 4)
      pos:
        line_end: 2469
        line_start: 2469
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 2487
      start: 2357
    functionDepth: 2
    functionLinenumber: 2357
    functionLinenumberEnd: 2487
    functionName: avifEncoderIsMiniCompatible
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifGainMapMetadataSize
    - memcmp
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifEncoderIsMiniCompatible(const avifEncoder * encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:2494,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2497,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:2497,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2498,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:2498,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2499,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:2499,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2501,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2503,1
    - Dst: avifEncoderWriteMiniBox
      Src: /src/libavif/src/write.c:2503,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/src/write.c:2505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - encoder
    - output
    argTypes:
    - avifEncoder*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2507
    functionName: avifEncoderWriteFileTypeBoxAndMiniBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifRWStreamWriteBox
    - avifRWStreamWriteChars
    - avifRWStreamFinishWrite
    - AVIF_CHECKRES
    - avifRWStreamStart
    - avifEncoderWriteMiniBox
    - avifRWStreamFinishBox
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteFileTypeBoxAndMiniBox(avifEncoder * encoder,
      avifRWData * output)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2517,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2520,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2524,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2529,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:2561,1
    - Dst: avifImageIrotImirToExifOrientation
      Src: /src/libavif/src/write.c:2574,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:2580,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:2581,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:2584,1
    - Dst: memcpy
      Src: /src/libavif/src/write.c:2585,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2591,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2592,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2606,1
    - Dst: avifGainMapMetadataSize
      Src: /src/libavif/src/write.c:2607,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2608,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2611,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2622,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:2622,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2623,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2623,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2626,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2626,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2627,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2627,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2628,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2628,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2629,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2629,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2630,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2630,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2631,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2631,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2632,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2632,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2633,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2633,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2634,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2634,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2636,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2636,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2637,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2637,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2640,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2640,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2641,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2641,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2642,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2642,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2646,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2646,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2649,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2649,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2656,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2656,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2658,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2658,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2663,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2663,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2668,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2668,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2669,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2669,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2671,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2671,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2673,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2680,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2680,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2684,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2684,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2691,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2691,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2695,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2695,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2696,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2696,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2697,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2697,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2698,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2698,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2703,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2703,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2705,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2705,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2712,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2712,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2719,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2719,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2724,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2724,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2726,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2726,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2731,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2731,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2736,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2736,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2738,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2738,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2739,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2739,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2740,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2740,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2741,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2741,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2746,1
    - Dst: avifEncoderWriteMiniHDRProperties
      Src: /src/libavif/src/write.c:2746,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2748,1
    - Dst: avifEncoderWriteMiniHDRProperties
      Src: /src/libavif/src/write.c:2748,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2754,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2754,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2756,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2756,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2757,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2757,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2760,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2760,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2763,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2763,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2767,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2767,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2770,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2770,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2773,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2780,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2780,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2783,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2783,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2784,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2784,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2787,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2787,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2790,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2797,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2797,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2801,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2801,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2804,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2804,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2807,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2807,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2812,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2812,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2814,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2818,1
    - Dst: writeCodecConfig
      Src: /src/libavif/src/write.c:2818,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2821,1
    - Dst: writeCodecConfig
      Src: /src/libavif/src/write.c:2821,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2824,1
    - Dst: writeCodecConfig
      Src: /src/libavif/src/write.c:2824,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2828,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2828,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2831,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2831,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2834,1
    - Dst: avifWriteGainmapMetadata
      Src: /src/libavif/src/write.c:2834,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2838,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2838,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2841,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2841,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2844,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2844,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2847,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2847,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2850,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:2850,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2856,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:2856,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2857,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 212
    argCount: 2
    argNames:
    - encoder
    - s
    argTypes:
    - avifEncoder*
    - avifRWStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2509
    functionDepth: 3
    functionLinenumber: 2509
    functionLinenumberEnd: 2859
    functionName: avifEncoderWriteMiniBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - avifGainMapMetadataSize
    - avifRWStreamOffset
    - avifWriteGainmapMetadata
    - avifRWStreamWriteBox
    - AVIF_CHECKRES
    - memcmp
    - writeCodecConfig
    - avifDiagnosticsPrintf
    - avifEncoderWriteMiniHDRProperties
    - AVIF_ASSERT_OR_RETURN
    - memcpy
    - avifRWStreamWriteBits
    - AVIF_CHECKERR
    - avifRWStreamWrite
    - avifRWStreamFinishBox
    - avifImageIrotImirToExifOrientation
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWriteMiniBox(avifEncoder * encoder, avifRWStream
      * s)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2873,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2877,1
    - Dst: avifEncoderDataFindItemByID
      Src: /src/libavif/src/write.c:2887,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:2888,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/write.c:2901,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2902,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2919,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:2937,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2939,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:2939,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2940,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2940,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2941,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:2941,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:2942,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2943,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:2943,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/write.c:2951,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2957,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2964,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:2971,1
    - Dst: assert
      Src: /src/libavif/src/write.c:2973,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:2976,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2986,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:2986,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2987,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:2987,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2989,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:2989,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:2993,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:2999,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:2999,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3000,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3000,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3001,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3001,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3002,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3002,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3003,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3003,1
    - Dst: avifCodecConfigurationBoxGetSubsamplingType
      Src: /src/libavif/src/write.c:3005,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3010,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3010,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3011,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3011,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3016,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3017,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:3017,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:3022,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3023,1
    - Dst: writeConfigBox
      Src: /src/libavif/src/write.c:3023,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3024,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:3024,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:3030,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3032,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3032,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3033,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3033,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3034,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3035,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:3035,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3040,1
    - Dst: avifEncoderWriteColorProperties
      Src: /src/libavif/src/write.c:3040,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3041,1
    - Dst: avifEncoderWriteHDRProperties
      Src: /src/libavif/src/write.c:3041,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3046,1
    - Dst: avifEncoderWriteNclxProperty
      Src: /src/libavif/src/write.c:3046,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3048,1
    - Dst: avifEncoderWritePaspProperty
      Src: /src/libavif/src/write.c:3048,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:3054,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3056,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3056,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3068,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3068,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3069,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3069,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3075,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3075,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3077,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3077,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3080,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3081,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:3081,1
    - Dst: avifItemPropertyDedupStart
      Src: /src/libavif/src/write.c:3089,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3092,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3092,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:3093,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3094,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:3094,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3096,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:3096,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3097,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3098,1
    - Dst: avifItemPropertyDedupFinish
      Src: /src/libavif/src/write.c:3098,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3106,1
    - Dst: avifEncoderWriteTransformativeProperties
      Src: /src/libavif/src/write.c:3106,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3109,1
    - Dst: avifEncoderWriteTransformativeProperties
      Src: /src/libavif/src/write.c:3109,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:3134,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:3145,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3146,1
    - Dst: avifEncoderWriteTransformativeProperties
      Src: /src/libavif/src/write.c:3146,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 161
    argCount: 5
    argNames:
    - dedup
    - s
    - encoder
    - imageMetadata
    - altImageMetadata
    argTypes:
    - avifItemPropertyDedup*
    - avifRWStream*
    - avifEncoder*
    - avifImage*
    - avifImage*
    assertStmts:
    - condition: (isSampleTransformImage == (item->itemCategory == AVIF_ITEM_SAMPLE_TRANSFORM))
      pos:
        line_end: 2972
        line_start: 2972
        source_file: /src/libavif/src/write.c
    constantsTouched: []
    func_position:
      end: 3150
      start: 2862
    functionDepth: 4
    functionLinenumber: 2862
    functionLinenumberEnd: 3150
    functionName: avifRWStreamWriteProperties
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 0
    functionsReached:
    - avifCodecConfigurationBoxGetSubsamplingType
    - assert
    - avifIsAlpha
    - avifRWStreamFinishBox
    - avifEncoderWritePaspProperty
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - avifEncoderWriteHDRProperties
    - avifArrayPush
    - AVIF_CHECKERR
    - avifRWStreamWriteBox
    - avifItemPropertyDedupStart
    - avifEncoderWriteNclxProperty
    - memcmp
    - avifRWStreamWriteBits
    - avifRWStreamWriteU16
    - avifRWStreamWrite
    - avifItemPropertyDedupFinish
    - avifRWStreamWriteFullBox
    - avifEncoderDataFindItemByID
    - AVIF_CHECKRES
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWriteU32
    - avifEncoderWriteColorProperties
    - writeConfigBox
    - avifEncoderWriteTransformativeProperties
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifRWStreamWriteProperties(avifItemPropertyDedup * const
      dedup,\n                                              avifRWStream * const s,\n
      \                                             const avifEncoder * const encoder,\n
      \                                             const avifImage * const imageMetadata,\n
      \                                             const avifImage * const altImageMetadata)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/write.c:3154,1
    - Dst: avifEncoderGetCodecType
      Src: /src/libavif/src/write.c:3159,1
    - Dst: avifEncoderItem*::codec::encodeFinish
      Src: /src/libavif/src/write.c:3170,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/write.c:3171,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/write.c:3175,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/write.c:3180,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:3197,1
    - Dst: avifSequenceHeaderParse
      Src: /src/libavif/src/write.c:3197,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/write.c:3198,1
    - Dst: avifEncoderIsMiniCompatible
      Src: /src/libavif/src/write.c:3208,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3209,1
    - Dst: avifEncoderWriteFileTypeBoxAndMiniBox
      Src: /src/libavif/src/write.c:3209,1
    - Dst: time
      Src: /src/libavif/src/write.c:3215,1
    - Dst: avifRWStreamStart
      Src: /src/libavif/src/write.c:3225,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3287,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3287,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3288,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3288,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3289,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3289,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3290,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3290,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3292,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3292,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3295,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3295,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3296,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3296,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3297,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3297,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3299,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3299,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3300,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3300,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3303,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3303,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3305,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3305,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:3309,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3314,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3314,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3318,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3324,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3324,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3329,1
    - Dst: avifRWStreamWriteHandlerBox
      Src: /src/libavif/src/write.c:3329,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3335,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3335,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3336,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3336,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3343,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3343,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3344,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3344,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3345,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3345,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3346,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3346,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3347,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3347,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3348,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3348,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3352,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3352,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3353,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3353,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3358,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3358,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3360,1
    - Dst: avifEncoderItemAddMdatFixup
      Src: /src/libavif/src/write.c:3360,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3361,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3361,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3362,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3362,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3377,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3377,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3378,1
    - Dst: avifEncoderItemAddMdatFixup
      Src: /src/libavif/src/write.c:3378,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3379,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3379,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3380,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3380,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3383,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3390,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3390,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3391,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3391,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3398,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3398,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3399,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3399,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3400,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3400,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3401,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:3401,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3402,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3402,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:3403,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3404,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3404,1
    - Dst: memcmp
      Src: /src/libavif/src/write.c:3406,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3410,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3413,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3433,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3433,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3436,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3436,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3437,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3437,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3438,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3438,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3442,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3442,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3445,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3450,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3450,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3453,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3453,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3454,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3454,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3455,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3455,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3456,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3456,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3457,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3461,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3468,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3468,1
    - Dst: avifItemPropertyDedupCreate
      Src: /src/libavif/src/write.c:3470,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:3471,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3473,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3473,1
    - Dst: avifRWStreamWriteProperties
      Src: /src/libavif/src/write.c:3476,1
    - Dst: avifItemPropertyDedupDestroy
      Src: /src/libavif/src/write.c:3477,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3478,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3479,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3483,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3483,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/write.c:3489,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3493,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3493,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3501,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3501,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:3502,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3503,1
    - Dst: avifRWStreamWriteU8
      Src: /src/libavif/src/write.c:3503,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3506,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3506,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:3507,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3508,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3508,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3512,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3514,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:3525,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3528,1
    - Dst: avifWriteAltrGroup
      Src: /src/libavif/src/write.c:3528,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3534,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:3567,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3579,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3579,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3582,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3582,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3583,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3583,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3584,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3584,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3585,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3585,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3586,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3586,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3587,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3587,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3588,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3588,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3589,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3589,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3590,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3590,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3591,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:3591,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3592,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3592,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3593,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3593,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3594,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3614,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3614,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3617,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3617,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3618,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3618,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3619,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3619,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3620,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3620,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3621,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3621,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3622,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3622,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3623,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3623,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3624,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3624,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3625,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3625,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3626,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3626,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3627,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3627,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3628,1
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/write.c:3628,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3629,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3629,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3630,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3630,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3631,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3635,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3635,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3637,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3637,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3638,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3638,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3639,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3640,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3644,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3644,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3647,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3647,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3648,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3648,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3649,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3649,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3650,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3650,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3651,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3651,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3652,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3652,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3653,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3654,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3657,1
    - Dst: avifEncoderWriteTrackMetaBox
      Src: /src/libavif/src/write.c:3657,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3661,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3661,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3664,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3664,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3665,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3665,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3666,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3666,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3667,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3667,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3668,1
    - Dst: avifRWStreamWriteU64
      Src: /src/libavif/src/write.c:3668,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3669,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3669,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3670,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3670,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3671,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3673,1
    - Dst: avifRWStreamWriteHandlerBox
      Src: /src/libavif/src/write.c:3673,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3676,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3676,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3679,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3679,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3680,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3680,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3681,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3681,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3682,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3685,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3685,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3687,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3687,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3688,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3688,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3689,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3689,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3690,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3691,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3699,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3699,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3702,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3702,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3703,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3703,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3705,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3705,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3706,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3706,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3707,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3707,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3708,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3708,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3709,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3709,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3710,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3710,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3711,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3711,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3712,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3712,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3713,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3713,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3714,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3714,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3715,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3715,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3716,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3716,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3717,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3717,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3718,1
    - Dst: avifRWStreamWriteZeros
      Src: /src/libavif/src/write.c:3718,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3719,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3719,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3720,1
    - Dst: avifRWStreamWriteU16
      Src: /src/libavif/src/write.c:3720,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3721,1
    - Dst: writeConfigBox
      Src: /src/libavif/src/write.c:3721,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3723,1
    - Dst: avifEncoderWriteColorProperties
      Src: /src/libavif/src/write.c:3723,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3724,1
    - Dst: avifEncoderWriteHDRProperties
      Src: /src/libavif/src/write.c:3724,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3725,1
    - Dst: avifEncoderWriteTransformativeProperties
      Src: /src/libavif/src/write.c:3725,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3729,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3729,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3730,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3730,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3731,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3731,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3732,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3732,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3733,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3733,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3734,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3738,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3738,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3739,1
    - Dst: avifRWStreamWriteChars
      Src: /src/libavif/src/write.c:3739,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3740,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3743,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3744,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3747,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3747,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:3748,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3750,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3750,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3760,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3760,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3761,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3761,1
    - Dst: avifRWStreamOffset
      Src: /src/libavif/src/write.c:3765,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:3766,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3767,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3767,1
    - Dst: avifRWStreamSetOffset
      Src: /src/libavif/src/write.c:3768,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3769,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3772,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3772,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3773,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3773,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3774,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3774,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3775,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3775,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3776,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3776,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3777,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3780,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3780,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3781,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3781,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3782,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3782,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3785,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3785,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3787,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3790,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3790,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3791,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3791,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3792,1
    - Dst: avifEncoderItemAddMdatFixup
      Src: /src/libavif/src/write.c:3792,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3793,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3793,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3794,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3807,1
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/write.c:3807,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3808,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3808,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3812,1
    - Dst: avifRWStreamWriteU32
      Src: /src/libavif/src/write.c:3812,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3815,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3818,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3820,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3821,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3822,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3828,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:3836,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/write.c:3839,1
    - Dst: avifEncoderWriteMediaDataBox
      Src: /src/libavif/src/write.c:3843,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:3845,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/write.c:3846,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3847,1
    - Dst: avifRWStreamFinishWrite
      Src: /src/libavif/src/write.c:3852,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3855,1
    - Dst: avifIsCompliant
      Src: /src/libavif/src/write.c:3855,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 419
    argCount: 2
    argNames:
    - encoder
    - output
    argTypes:
    - avifEncoder*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3152
    functionDepth: 5
    functionLinenumber: 3152
    functionLinenumberEnd: 3859
    functionName: avifEncoderFinish
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 92
    functionsReached:
    - avifRWStreamFinishWrite
    - avifSequenceHeaderParse
    - avifEncoderWriteFileTypeBoxAndMiniBox
    - avifIsCompliant
    - avifRWStreamWriteU64
    - avifRWStreamFinishBox
    - avifEncoderItem*::codec::encodeFinish
    - avifRWStreamOffset
    - avifRWStreamWriteU8
    - avifRWStreamWriteChars
    - avifEncoderWriteHDRProperties
    - avifRWStreamStart
    - avifEncoderWriteTrackMetaBox
    - AVIF_CHECKERR
    - avifRWStreamWriteHandlerBox
    - avifArrayCreate
    - avifRWStreamWriteBox
    - memcmp
    - time
    - avifDiagnosticsClearError
    - avifRWStreamWriteBits
    - avifGetErrorForItemCategory
    - avifRWStreamWriteProperties
    - avifRWStreamWriteU16
    - avifEncoderWriteMediaDataBox
    - avifRWStreamWrite
    - avifItemPropertyDedupDestroy
    - avifEncoderGetCodecType
    - avifRWStreamWriteFullBox
    - avifItemPropertyDedupCreate
    - avifWriteAltrGroup
    - avifEncoderIsMiniCompatible
    - avifRWStreamWriteZeros
    - AVIF_CHECKRES
    - avifRWStreamSetOffset
    - avifDiagnosticsPrintf
    - avifEncoderItemAddMdatFixup
    - AVIF_ASSERT_OR_RETURN
    - avifArrayDestroy
    - avifRWStreamWriteU32
    - avifEncoderWriteColorProperties
    - writeConfigBox
    - avifEncoderWriteTransformativeProperties
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderFinish(avifEncoder * encoder, avifRWData * output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderAddImage
      Src: /src/libavif/src/write.c:3863,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/src/write.c:3867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - encoder
    - image
    - output
    argTypes:
    - avifEncoder*
    - avifImage*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3861
    functionDepth: 7
    functionLinenumber: 3861
    functionLinenumberEnd: 3868
    functionName: avifEncoderWrite
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 156
    functionsReached:
    - avifEncoderAddImage
    - avifEncoderFinish
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifEncoderWrite(avifEncoder * encoder, const avifImage
      * image, avifRWData * output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3876,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3876,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3877,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3877,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3879,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3879,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3880,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3880,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3882,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3882,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3883,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3883,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3884,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3884,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3885,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3885,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3886,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3886,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3887,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3887,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3888,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3888,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3890,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3890,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3891,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3891,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3892,1
    - Dst: avifRWStreamWriteBits
      Src: /src/libavif/src/write.c:3892,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/write.c:3899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - s
    - cfg
    argTypes:
    - avifRWStream*
    - avifCodecConfigurationBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3872
    functionDepth: 1
    functionLinenumber: 3872
    functionLinenumberEnd: 3901
    functionName: writeCodecConfig
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 1
    functionsReached:
    - AVIF_CHECKRES
    - AVIF_ASSERT_OR_RETURN
    - avifRWStreamWriteBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult writeCodecConfig(avifRWStream * s, const avifCodecConfigurationBox
      * cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3906,1
    - Dst: avifRWStreamWriteBox
      Src: /src/libavif/src/write.c:3906,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/write.c:3907,1
    - Dst: writeCodecConfig
      Src: /src/libavif/src/write.c:3907,1
    - Dst: avifRWStreamFinishBox
      Src: /src/libavif/src/write.c:3908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - cfg
    - configPropName
    argTypes:
    - avifRWStream*
    - avifCodecConfigurationBox*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3903
    functionDepth: 2
    functionLinenumber: 3903
    functionLinenumberEnd: 3910
    functionName: writeConfigBox
    functionSourceFile: /src/libavif/src/write.c
    functionUses: 2
    functionsReached:
    - AVIF_CHECKRES
    - avifRWStreamWriteBox
    - writeCodecConfig
    - avifRWStreamFinishBox
    linkageType: ''
    returnType: avifResult
    signature: avifResult writeConfigBox(avifRWStream * s, const avifCodecConfigurationBox
      * cfg, const char * configPropName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SharpYuvComputeConversionMatrix
      Src: /src/libavif/src/reformat_libsharpyuv.c:24,1
    - Dst: SHARPYUV_MAKE_VERSION
      Src: /src/libavif/src/reformat_libsharpyuv.c:25,1
    - Dst: SharpYuvOptionsInit
      Src: /src/libavif/src/reformat_libsharpyuv.c:27,1
    - Dst: SharpYuvConvertWithOptions
      Src: /src/libavif/src/reformat_libsharpyuv.c:34,1
    - Dst: SharpYuvConvert
      Src: /src/libavif/src/reformat_libsharpyuv.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 73
    functionName: avifImageRGBToYUVLibSharpYUV
    functionSourceFile: /src/libavif/src/reformat_libsharpyuv.c
    functionUses: 0
    functionsReached:
    - SHARPYUV_MAKE_VERSION
    - SharpYuvOptionsInit
    - SharpYuvConvert
    - SharpYuvConvertWithOptions
    - SharpYuvComputeConversionMatrix
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUVLibSharpYUV(avifImage * image, const avifRGBImage
      * rgb, const avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avifImageRGBToYUVLibSharpYUV
    functionSourceFile: /src/libavif/src/reformat_libsharpyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUVLibSharpYUV(avifImage * image, const avifRGBImage
      * rgb, const avifReformatState * state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rav1e_context_unref
      Src: /src/libavif/src/codec_rav1e.c:22,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_rav1e.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: rav1eCodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - avifFree
    - rav1e_context_unref
    linkageType: ''
    returnType: void
    signature: void rav1eCodecDestroyInternal(avifCodec * codec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rav1e_version_short
      Src: /src/libavif/src/codec_rav1e.c:31,1
    - Dst: atoi
      Src: /src/libavif/src/codec_rav1e.c:34,1
    - Dst: strchr
      Src: /src/libavif/src/codec_rav1e.c:40,1
    - Dst: atoi
      Src: /src/libavif/src/codec_rav1e.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: rav1eSupports400
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - strchr
    - rav1e_version_short
    - atoi
    linkageType: ''
    returnType: avifBool
    signature: avifBool rav1eSupports400(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quality
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: rav1eQualityToQuantizer
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rav1eQualityToQuantizer(int quality)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: rav1eSupports400
      Src: /src/libavif/src/codec_rav1e.c:99,1
    - Dst: rav1e_config_default
      Src: /src/libavif/src/codec_rav1e.c:146,1
    - Dst: rav1e_config_set_pixel_format
      Src: /src/libavif/src/codec_rav1e.c:147,1
    - Dst: rav1e_config_parse
      Src: /src/libavif/src/codec_rav1e.c:156,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:160,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:163,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:166,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_rav1e.c:170,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_rav1e.c:172,1
    - Dst: rav1eQualityToQuantizer
      Src: /src/libavif/src/codec_rav1e.c:175,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:176,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:179,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:183,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:188,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_rav1e.c:193,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:194,1
    - Dst: rav1e_config_parse_int
      Src: /src/libavif/src/codec_rav1e.c:200,1
    - Dst: rav1e_config_parse
      Src: /src/libavif/src/codec_rav1e.c:206,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_rav1e.c:207,1
    - Dst: rav1e_config_set_color_description
      Src: /src/libavif/src/codec_rav1e.c:219,1
    - Dst: rav1e_context_new
      Src: /src/libavif/src/codec_rav1e.c:224,1
    - Dst: rav1e_frame_new
      Src: /src/libavif/src/codec_rav1e.c:230,1
    - Dst: rav1e_frame_fill_plane
      Src: /src/libavif/src/codec_rav1e.c:234,1
    - Dst: rav1e_frame_fill_plane
      Src: /src/libavif/src/codec_rav1e.c:236,1
    - Dst: rav1e_frame_fill_plane
      Src: /src/libavif/src/codec_rav1e.c:239,1
    - Dst: rav1e_frame_fill_plane
      Src: /src/libavif/src/codec_rav1e.c:240,1
    - Dst: rav1e_frame_set_type
      Src: /src/libavif/src/codec_rav1e.c:248,1
    - Dst: rav1e_send_frame
      Src: /src/libavif/src/codec_rav1e.c:250,1
    - Dst: rav1e_receive_packet
      Src: /src/libavif/src/codec_rav1e.c:257,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_rav1e.c:265,1
    - Dst: rav1e_packet_unref
      Src: /src/libavif/src/codec_rav1e.c:270,1
    - Dst: rav1e_frame_unref
      Src: /src/libavif/src/codec_rav1e.c:279,1
    - Dst: rav1e_config_unref
      Src: /src/libavif/src/codec_rav1e.c:283,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 171
    argCount: 11
    argNames:
    - codec
    - encoder
    - image
    - alpha
    - tileRowsLog2
    - tileColsLog2
    - quality
    - encoderChanges
    - disableLaggedOutput
    - addImageFlags
    - output
    argTypes:
    - avifCodec*
    - avifEncoder*
    - avifImage*
    - avifBool
    - int
    - int
    - int
    - avifEncoderChanges
    - avifBool
    - uint32_t
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 287
    functionName: rav1eCodecEncodeImage
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - rav1e_config_default
    - rav1e_config_parse
    - rav1e_frame_set_type
    - rav1e_context_new
    - rav1e_config_set_color_description
    - rav1e_receive_packet
    - avifCodecEncodeOutputAddSample
    - rav1e_config_set_pixel_format
    - AVIF_CLAMP
    - rav1eQualityToQuantizer
    - rav1e_packet_unref
    - rav1e_frame_unref
    - rav1eSupports400
    - rav1e_config_parse_int
    - rav1e_config_unref
    - rav1e_frame_fill_plane
    - avifDiagnosticsPrintf
    - rav1e_send_frame
    - rav1e_frame_new
    linkageType: ''
    returnType: avifResult
    signature: "avifResult rav1eCodecEncodeImage(avifCodec * codec,\n                                        avifEncoder
      * encoder,\n                                        const avifImage * image,\n
      \                                       avifBool alpha,\n                                        int
      tileRowsLog2,\n                                        int tileColsLog2,\n                                        int
      quality,\n                                        avifEncoderChanges encoderChanges,\n
      \                                       avifBool disableLaggedOutput,\n                                        uint32_t
      addImageFlags,\n                                        avifCodecEncodeOutput
      * output)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rav1e_send_frame
      Src: /src/libavif/src/codec_rav1e.c:292,1
    - Dst: rav1e_receive_packet
      Src: /src/libavif/src/codec_rav1e.c:300,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_rav1e.c:310,1
    - Dst: rav1e_packet_unref
      Src: /src/libavif/src/codec_rav1e.c:315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - codec
    - output
    argTypes:
    - avifCodec*
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 327
    functionName: rav1eCodecEncodeFinish
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - rav1e_packet_unref
    - rav1e_receive_packet
    - avifCodecEncodeOutputAddSample
    - rav1e_send_frame
    linkageType: ''
    returnType: avifBool
    signature: avifBool rav1eCodecEncodeFinish(avifCodec * codec, avifCodecEncodeOutput
      * output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rav1e_version_full
      Src: /src/libavif/src/codec_rav1e.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: avifCodecVersionRav1e
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - rav1e_version_full
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionRav1e(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_rav1e.c:336,1
    - Dst: memset
      Src: /src/libavif/src/codec_rav1e.c:340,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_rav1e.c:345,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_rav1e.c:347,1
    - Dst: memset
      Src: /src/libavif/src/codec_rav1e.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: avifCodecCreateRav1e
    functionSourceFile: /src/libavif/src/codec_rav1e.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateRav1e(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:18,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:21,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:22,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:29,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:33,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/sampletransform.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - tokens
    - numInputImageItems
    argTypes:
    - avifSampleTransformExpression*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: avifSampleTransformExpressionIsValid
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 4
    functionsReached:
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifSampleTransformExpressionIsValid(const avifSampleTransformExpression
      * tokens, uint32_t numInputImageItems)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avifSampleTransformExpression*
    - avifSampleTransformExpression*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: avifSampleTransformExpressionIsEquivalentTo
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifSampleTransformExpressionIsEquivalentTo(const avifSampleTransformExpression
      * a, const avifSampleTransformExpression * b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/sampletransform.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expression
    - constant
    argTypes:
    - avifSampleTransformExpression*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: avifPushConstant
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifArrayPush
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPushConstant(avifSampleTransformExpression * expression,
      int32_t constant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/sampletransform.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expression
    - inputImageItemIndex
    argTypes:
    - avifSampleTransformExpression*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: avifPushInputImageItem
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifArrayPush
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPushInputImageItem(avifSampleTransformExpression * expression,
      uint8_t inputImageItemIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/sampletransform.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - expression
    argTypes:
    - avifSampleTransformExpression*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: avifPushOperator
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifArrayPush
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPushOperator(avifSampleTransformExpression * expression,
      avifSampleTransformTokenType operator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:100,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/sampletransform.c:100,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:106,1
    - Dst: avifPushConstant
      Src: /src/libavif/src/sampletransform.c:106,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:107,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:107,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:108,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:108,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:112,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:112,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:114,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:114,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:122,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/sampletransform.c:122,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:128,1
    - Dst: avifPushConstant
      Src: /src/libavif/src/sampletransform.c:128,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:129,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:129,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:130,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:130,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:134,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:134,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:135,1
    - Dst: avifPushConstant
      Src: /src/libavif/src/sampletransform.c:135,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:136,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:136,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:138,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:138,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:147,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/sampletransform.c:147,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:152,1
    - Dst: avifPushConstant
      Src: /src/libavif/src/sampletransform.c:152,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:153,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:153,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:154,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:154,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:158,1
    - Dst: avifPushInputImageItem
      Src: /src/libavif/src/sampletransform.c:158,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:159,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:159,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:163,1
    - Dst: avifPushConstant
      Src: /src/libavif/src/sampletransform.c:163,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:164,1
    - Dst: avifPushOperator
      Src: /src/libavif/src/sampletransform.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - recipe
    - expression
    argTypes:
    - avifSampleTransformRecipe
    - avifSampleTransformExpression*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 170
    functionName: avifSampleTransformRecipeToExpression
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 13
    functionsReached:
    - avifArrayCreate
    - avifPushInputImageItem
    - avifPushConstant
    - AVIF_ASSERT_OR_RETURN
    - avifPushOperator
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSampleTransformRecipeToExpression(avifSampleTransformRecipe
      recipe, avifSampleTransformExpression * expression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/sampletransform.c:181,1
    - Dst: avifSampleTransformRecipeToExpression
      Src: /src/libavif/src/sampletransform.c:181,1
    - Dst: avifSampleTransformExpressionIsEquivalentTo
      Src: /src/libavif/src/sampletransform.c:182,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/sampletransform.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - expression
    - recipe
    argTypes:
    - avifSampleTransformExpression*
    - avifSampleTransformRecipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: avifSampleTransformExpressionToRecipe
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 8
    functionsReached:
    - AVIF_CHECKRES
    - avifArrayDestroy
    - avifSampleTransformExpressionIsEquivalentTo
    - avifSampleTransformRecipeToExpression
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSampleTransformExpressionToRecipe(const avifSampleTransformExpression
      * expression, avifSampleTransformRecipe * recipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: avifSampleTransformClamp32b
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t avifSampleTransformClamp32b(int64_t value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:204,1
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:206,1
    - Dst: assert
      Src: /src/libavif/src/sampletransform.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - operand
    argTypes:
    - int32_t
    assertStmts:
    - condition: (AVIF_FALSE)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/libavif/src/sampletransform.c
    constantsTouched: []
    func_position:
      end: 224
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 224
    functionName: avifSampleTransformOperation32bOneOperand
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifSampleTransformClamp32b
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t avifSampleTransformOperation32bOneOperand(int32_t operand,
      uint8_t operator)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:230,1
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:232,1
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:234,1
    - Dst: avifSampleTransformClamp32b
      Src: /src/libavif/src/sampletransform.c:236,1
    - Dst: assert
      Src: /src/libavif/src/sampletransform.c:274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - leftOperand
    - rightOperand
    argTypes:
    - int32_t
    - int32_t
    assertStmts:
    - condition: (AVIF_FALSE)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/libavif/src/sampletransform.c
    constantsTouched: []
    func_position:
      end: 277
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 277
    functionName: avifSampleTransformOperation32bTwoOperands
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifSampleTransformClamp32b
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t avifSampleTransformOperation32bTwoOperands(int32_t leftOperand,
      int32_t rightOperand, uint8_t operator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/sampletransform.c:305,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/sampletransform.c:306,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:313,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/sampletransform.c:317,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:318,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/sampletransform.c:319,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:320,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/sampletransform.c:321,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:324,1
    - Dst: avifSampleTransformOperation32bOneOperand
      Src: /src/libavif/src/sampletransform.c:325,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:328,1
    - Dst: avifSampleTransformOperation32bTwoOperands
      Src: /src/libavif/src/sampletransform.c:330,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:334,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/sampletransform.c:337,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/sampletransform.c:339,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:340,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/sampletransform.c:341,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/sampletransform.c:342,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 6
    argNames:
    - dstImage
    - expression
    - inputImageItems
    - planes
    - stack
    - stackCapacity
    argTypes:
    - avifImage*
    - avifSampleTransformExpression*
    - avifImage*[]
    - avifPlanesFlags
    - int32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 351
    functionName: avifImageApplyExpression32b
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 0
    functionsReached:
    - avifSampleTransformOperation32bTwoOperands
    - avifImagePlaneHeight
    - avifImageUsesU16
    - AVIF_ASSERT_OR_RETURN
    - avifImagePlaneWidth
    - AVIF_CLAMP
    - avifImagePlaneRowBytes
    - avifSampleTransformOperation32bOneOperand
    - avifImagePlane
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageApplyExpression32b(avifImage * dstImage,\n                                              const
      avifSampleTransformExpression * expression,\n                                              const
      avifImage * inputImageItems[],\n                                              avifPlanesFlags
      planes,\n                                              int32_t * stack,\n                                              uint32_t
      stackCapacity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:361,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/src/sampletransform.c:361,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/sampletransform.c:370,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/sampletransform.c:371,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:373,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/sampletransform.c:373,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:374,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/sampletransform.c:374,1
    - Dst: avifAlloc
      Src: /src/libavif/src/sampletransform.c:381,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:382,1
    - Dst: avifImageApplyExpression32b
      Src: /src/libavif/src/sampletransform.c:383,1
    - Dst: avifFree
      Src: /src/libavif/src/sampletransform.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - dstImage
    - bitDepth
    - expression
    - numInputImageItems
    - inputImageItems
    - planes
    argTypes:
    - avifImage*
    - avifSampleTransformBitDepth
    - avifSampleTransformExpression*
    - uint8_t
    - avifImage*[]
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 388
    functionName: avifImageApplyExpression
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 4
    functionsReached:
    - avifFree
    - avifImagePlaneHeight
    - avifAlloc
    - AVIF_ASSERT_OR_RETURN
    - avifImagePlaneWidth
    - AVIF_CHECKERR
    - avifImageApplyExpression32b
    - avifSampleTransformExpressionIsValid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageApplyExpression(avifImage * dstImage,\n                                    avifSampleTransformBitDepth
      bitDepth,\n                                    const avifSampleTransformExpression
      * expression,\n                                    uint8_t numInputImageItems,\n
      \                                   const avifImage * inputImageItems[],\n                                    avifPlanesFlags
      planes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/sampletransform.c:399,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/sampletransform.c:399,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/sampletransform.c:401,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/sampletransform.c:402,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/src/sampletransform.c:405,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/sampletransform.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - dstImage
    - bitDepth
    - numTokens
    - tokens
    - numInputImageItems
    - inputImageItems
    - planes
    argTypes:
    - avifImage*
    - avifSampleTransformBitDepth
    - uint32_t
    - avifSampleTransformToken[]
    - uint8_t
    - avifImage*[]
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 408
    functionName: avifImageApplyOperations
    functionSourceFile: /src/libavif/src/sampletransform.c
    functionUses: 6
    functionsReached:
    - avifArrayCreate
    - avifImageApplyExpression
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - avifArrayDestroy
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageApplyOperations(avifImage * dstImage,\n                                    avifSampleTransformBitDepth
      bitDepth,\n                                    uint32_t numTokens,\n                                    const
      avifSampleTransformToken tokens[],\n                                    uint8_t
      numInputImageItems,\n                                    const avifImage * inputImageItems[],\n
      \                                   avifPlanesFlags planes)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:37,1
    - Dst: avifDimensionsTooLarge
      Src: /src/libavif/src/scale.c:40,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:41,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/scale.c:65,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/scale.c:66,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:75,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:80,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/scale.c:87,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:89,1
    - Dst: avifResultToString
      Src: /src/libavif/src/scale.c:89,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/scale.c:101,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/scale.c:102,1
    - Dst: ScalePlane_12
      Src: /src/libavif/src/scale.c:110,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:112,1
    - Dst: ScalePlane_12
      Src: /src/libavif/src/scale.c:117,1
    - Dst: ScalePlane_16
      Src: /src/libavif/src/scale.c:119,1
    - Dst: ScalePlane
      Src: /src/libavif/src/scale.c:127,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:129,1
    - Dst: ScalePlane
      Src: /src/libavif/src/scale.c:134,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/scale.c:141,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:143,1
    - Dst: avifResultToString
      Src: /src/libavif/src/scale.c:143,1
    - Dst: ScalePlane_12
      Src: /src/libavif/src/scale.c:155,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:157,1
    - Dst: ScalePlane_12
      Src: /src/libavif/src/scale.c:162,1
    - Dst: ScalePlane_16
      Src: /src/libavif/src/scale.c:164,1
    - Dst: ScalePlane
      Src: /src/libavif/src/scale.c:173,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/scale.c:175,1
    - Dst: ScalePlane
      Src: /src/libavif/src/scale.c:180,1
    - Dst: avifFree
      Src: /src/libavif/src/scale.c:188,1
    - Dst: avifFree
      Src: /src/libavif/src/scale.c:192,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 106
    argCount: 6
    argNames:
    - image
    - dstWidth
    - dstHeight
    - imageSizeLimit
    - imageDimensionLimit
    - diag
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 195
    functionName: avifImageScaleWithLimit
    functionSourceFile: /src/libavif/src/scale.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifDimensionsTooLarge
    - avifResultToString
    - ScalePlane_16
    - avifImagePlaneHeight
    - ScalePlane
    - avifImageAllocatePlanes
    - avifDiagnosticsPrintf
    - ScalePlane_12
    - avifImagePlaneWidth
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageScaleWithLimit(avifImage * image,\n                                   uint32_t
      dstWidth,\n                                   uint32_t dstHeight,\n                                   uint32_t
      imageSizeLimit,\n                                   uint32_t imageDimensionLimit,\n
      \                                  avifDiagnostics * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/scale.c:199,1
    - Dst: avifImageScaleWithLimit
      Src: /src/libavif/src/scale.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - image
    - dstWidth
    - dstHeight
    - diag
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: avifImageScale
    functionSourceFile: /src/libavif/src/scale.c
    functionUses: 14
    functionsReached:
    - avifImageScaleWithLimit
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageScale(avifImage * image, uint32_t dstWidth, uint32_t
      dstHeight, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Libgav1DecoderDestroy
      Src: /src/libavif/src/codec_libgav1.c:21,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_libgav1.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: gav1CodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_libgav1.c
    functionUses: 0
    functionsReached:
    - avifFree
    - Libgav1DecoderDestroy
    linkageType: ''
    returnType: void
    signature: void gav1CodecDestroyInternal(avifCodec * codec)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Libgav1DecoderCreate
      Src: /src/libavif/src/codec_libgav1.c:37,1
    - Dst: Libgav1DecoderEnqueueFrame
      Src: /src/libavif/src/codec_libgav1.c:42,1
    - Dst: Libgav1DecoderDequeueFrame
      Src: /src/libavif/src/codec_libgav1.c:56,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_libgav1.c:104,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_libgav1.c:120,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_libgav1.c:141,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 5
    argNames:
    - codec
    - sample
    - alpha
    - isLimitedRangeAlpha
    - image
    argTypes:
    - struct avifCodec*
    - avifDecodeSample*
    - avifBool
    - avifBool*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 149
    functionName: gav1CodecGetNextImage
    functionSourceFile: /src/libavif/src/codec_libgav1.c
    functionUses: 0
    functionsReached:
    - Libgav1DecoderCreate
    - avifImageFreePlanes
    - Libgav1DecoderEnqueueFrame
    - Libgav1DecoderDequeueFrame
    linkageType: ''
    returnType: avifBool
    signature: "avifBool gav1CodecGetNextImage(struct avifCodec * codec,\n                                      const
      avifDecodeSample * sample,\n                                      avifBool alpha,\n
      \                                     avifBool * isLimitedRangeAlpha,\n                                      avifImage
      * image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Libgav1GetVersionString
      Src: /src/libavif/src/codec_libgav1.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: avifCodecVersionGav1
    functionSourceFile: /src/libavif/src/codec_libgav1.c
    functionUses: 0
    functionsReached:
    - Libgav1GetVersionString
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionGav1(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_libgav1.c:158,1
    - Dst: memset
      Src: /src/libavif/src/codec_libgav1.c:162,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_libgav1.c:166,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_libgav1.c:168,1
    - Dst: memset
      Src: /src/libavif/src/codec_libgav1.c:171,1
    - Dst: Libgav1DecoderSettingsInitDefault
      Src: /src/libavif/src/codec_libgav1.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: avifCodecCreateGav1
    functionSourceFile: /src/libavif/src/codec_libgav1.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    - Libgav1DecoderSettingsInitDefault
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateGav1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: STR_HELPER
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_HELPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: STR
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: avifVersion
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifVersion(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: avifPixelFormatToString
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifPixelFormatToString(avifPixelFormat format)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/avif.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - format
    - info
    argTypes:
    - avifPixelFormat
    - avifPixelFormatInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: avifGetPixelFormatInfo
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 16
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avifGetPixelFormatInfo(avifPixelFormat format, avifPixelFormatInfo
      * info)
  - BBCount: 37
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 1
    argNames:
    - result
    argTypes:
    - avifResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: avifResultToString
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifResultToString(avifResult result)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - progressiveState
    argTypes:
    - avifProgressiveState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: avifProgressiveStateToString
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifProgressiveStateToString(avifProgressiveState progressiveState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/avif.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: avifImageSetDefaults
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avifImageSetDefaults(avifImage * image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:146,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:148,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:150,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:151,1
    - Dst: avifImageSetDefaults
      Src: /src/libavif/src/avif.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - width
    - height
    - depth
    - yuvFormat
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: avifImageCreate
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 30
    functionsReached:
    - AVIF_CHECKERR
    - avifImageSetDefaults
    - avifAlloc
    linkageType: ''
    returnType: avifImage
    signature: avifImage * avifImageCreate(uint32_t width, uint32_t height, uint32_t
      depth, avifPixelFormat yuvFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreate
      Src: /src/libavif/src/avif.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: avifImageCreateEmpty
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 32
    functionsReached:
    - avifImageCreate
    linkageType: ''
    returnType: avifImage
    signature: avifImage * avifImageCreateEmpty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - dstImage
    - srcImage
    argTypes:
    - avifImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: avifImageCopyNoAlloc
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifImageCopyNoAlloc(avifImage * dstImage, const avifImage * srcImage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/avif.c:189,1
    - Dst: assert
      Src: /src/libavif/src/avif.c:191,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/avif.c:195,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/avif.c:205,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/avif.c:206,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/avif.c:207,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/avif.c:208,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/avif.c:209,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/avif.c:210,1
    - Dst: assert
      Src: /src/libavif/src/avif.c:211,1
    - Dst: assert
      Src: /src/libavif/src/avif.c:215,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/avif.c:215,1
    - Dst: assert
      Src: /src/libavif/src/avif.c:216,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/avif.c:216,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts:
    - condition: (srcImage->depth == dstImage->depth)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/libavif/src/avif.c
    - condition: (srcImage->yuvFormat == dstImage->yuvFormat)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/libavif/src/avif.c
    - condition: (!srcRow == !dstRow)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/libavif/src/avif.c
    - condition: (planeHeight == avifImagePlaneHeight(dstImage, c))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/libavif/src/avif.c
    - condition: (planeWidth == avifImagePlaneWidth(dstImage, c))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/libavif/src/avif.c
    constantsTouched: []
    func_position:
      end: 225
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 225
    functionName: avifImageCopySamples
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - avifImageUsesU16
    - assert
    - memcpy
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: void
    signature: void avifImageCopySamples(avifImage * dstImage, const avifImage * srcImage,
      avifPlanesFlags planes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:230,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:232,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:237,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:238,1
    - Dst: memset
      Src: /src/libavif/src/avif.c:239,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:242,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:243,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:244,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - dstImage
    - srcImage
    argTypes:
    - avifImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: avifImageCopyProperties
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifRWDataSet
    - AVIF_CHECKRES
    - avifRWDataFree
    - avifAlloc
    - memcpy
    - AVIF_CHECKERR
    - memset
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageCopyProperties(avifImage * dstImage, const avifImage
      * srcImage)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/avif.c:254,1
    - Dst: avifImageCopyNoAlloc
      Src: /src/libavif/src/avif.c:255,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:257,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/src/avif.c:257,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:259,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:259,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:260,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/src/avif.c:260,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:262,1
    - Dst: avifImageCopyProperties
      Src: /src/libavif/src/avif.c:262,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/avif.c:269,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/avif.c:275,1
    - Dst: avifImageCopySamples
      Src: /src/libavif/src/avif.c:280,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/src/avif.c:284,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:285,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:297,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:297,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/avif.c:307,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:309,1
    - Dst: avifImageCopy
      Src: /src/libavif/src/avif.c:309,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/avif.c:311,1
    - Dst: avifGainMapDestroy
      Src: /src/libavif/src/avif.c:315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 320
    functionName: avifImageCopy
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 15
    functionsReached:
    - avifImageDestroy
    - avifRWDataSet
    - avifImageCopyNoAlloc
    - avifGainMapDestroy
    - AVIF_CHECKRES
    - avifImageSetProfileICC
    - avifImageAllocatePlanes
    - avifImageCopyProperties
    - avifGainMapCreate
    - avifImageCopy
    - avifImageCopySamples
    - AVIF_CHECKERR
    - avifImageCreateEmpty
    - avifImageFreePlanes
    - avifImageSetMetadataXMP
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageCopy(avifImage * dstImage, const avifImage * srcImage,
      avifPlanesFlags planes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/avif.c:325,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/avif.c:333,1
    - Dst: avifImageCopyNoAlloc
      Src: /src/libavif/src/avif.c:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - rect
    argTypes:
    - avifImage*
    - avifImage*
    - avifCropRect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 354
    functionName: avifImageSetViewRect
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 41
    functionsReached:
    - avifGetPixelFormatInfo
    - avifImageFreePlanes
    - avifImageCopyNoAlloc
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageSetViewRect(avifImage * dstImage, const avifImage
      * srcImage, const avifCropRect * rect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapDestroy
      Src: /src/libavif/src/avif.c:359,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/avif.c:361,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:362,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:363,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:364,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:366,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:368,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: avifImageDestroy
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 7
    functionsReached:
    - avifRWDataFree
    - avifFree
    - avifImageFreePlanes
    - avifGainMapDestroy
    linkageType: ''
    returnType: void
    signature: void avifImageDestroy(avifImage * image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - icc
    - iccSize
    argTypes:
    - avifImage*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: avifImageSetProfileICC
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 13
    functionsReached:
    - avifRWDataSet
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageSetProfileICC(avifImage * image, const uint8_t
      * icc, size_t iccSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - xmp
    - xmpSize
    argTypes:
    - avifImage*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: avifImageSetMetadataXMP
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 17
    functionsReached:
    - avifRWDataSet
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageSetMetadataXMP(avifImage * image, const uint8_t
      * xmp, size_t xmpSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:386,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:389,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:390,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:392,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:395,1
    - Dst: memset
      Src: /src/libavif/src/avif.c:400,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:401,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:402,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/avif.c:403,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/avif.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - image
    - boxtype
    - usertype
    - boxPayload
    - boxPayloadSize
    argTypes:
    - avifImage*
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: avifImagePushProperty
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifRWDataSet
    - memset
    - AVIF_CHECKRES
    - avifAlloc
    - memcpy
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImagePushProperty(avifImage * image, const uint8_t boxtype[4],
      const uint8_t usertype[16], const uint8_t * boxPayload, size_t boxPayloadSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifIsKnownPropertyType
      Src: /src/libavif/src/avif.c:411,1
    - Dst: avifImagePushProperty
      Src: /src/libavif/src/avif.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - image
    - boxtype
    - data
    - dataSize
    argTypes:
    - avifImage*
    - uint8_t[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: avifImageAddOpaqueProperty
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 24
    functionsReached:
    - avifIsKnownPropertyType
    - avifImagePushProperty
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageAddOpaqueProperty(avifImage * image, const uint8_t
      boxtype[4], const uint8_t * data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifIsValidUUID
      Src: /src/libavif/src/avif.c:421,1
    - Dst: avifImagePushProperty
      Src: /src/libavif/src/avif.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - image
    - uuid
    - data
    - dataSize
    argTypes:
    - avifImage*
    - uint8_t[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: avifImageAddUUIDProperty
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 16
    functionsReached:
    - avifIsValidUUID
    - avifImagePushProperty
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageAddUUIDProperty(avifImage * image, const uint8_t
      uuid[16], const uint8_t * data, size_t dataSize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/avif.c:432,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/avif.c:444,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:448,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:466,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:478,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - image
    - planes
    argTypes:
    - avifImage*
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 486
    functionName: avifImageAllocatePlanes
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 30
    functionsReached:
    - avifGetPixelFormatInfo
    - avifAlloc
    - avifImageUsesU16
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageAllocatePlanes(avifImage * image, avifPlanesFlags
      planes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:492,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:493,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:494,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - image
    - planes
    argTypes:
    - avifImage*
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 512
    functionName: avifImageFreePlanes
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 10
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifImageFreePlanes(avifImage * image, avifPlanesFlags planes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/avif.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - planes
    argTypes:
    - avifImage*
    - avifImage*
    - avifPlanesFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 547
    functionName: avifImageStealPlanes
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - avifImageFreePlanes
    linkageType: ''
    returnType: void
    signature: void avifImageStealPlanes(avifImage * dstImage, avifImage * srcImage,
      avifPlanesFlags planes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: avifImageUsesU16
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifImageUsesU16(const avifImage * image)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/avif.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 580
    functionName: avifImageIsOpaque
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 17
    functionsReached:
    - avifImageUsesU16
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifImageIsOpaque(const avifImage * image)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - image
    - channel
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: avifImagePlane
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * avifImagePlane(const avifImage * image, int channel)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - image
    - channel
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: avifImagePlaneRowBytes
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifImagePlaneRowBytes(const avifImage * image, int channel)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/avif.c:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - image
    - channel
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 621
    functionName: avifImagePlaneWidth
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 53
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifImagePlaneWidth(const avifImage * image, int channel)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/avif.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - image
    - channel
    argTypes:
    - avifImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 640
    functionName: avifImagePlaneHeight
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 45
    functionsReached:
    - avifGetPixelFormatInfo
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifImagePlaneHeight(const avifImage * image, int channel)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - width
    - height
    - imageSizeLimit
    - imageDimensionLimit
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 651
    functionName: avifDimensionsTooLarge
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDimensionsTooLarge(uint32_t width, uint32_t height, uint32_t
      imageSizeLimit, uint32_t imageDimensionLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodec*::destroyInternal
      Src: /src/libavif/src/avif.c:658,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: avifCodecDestroy
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached:
    - avifFree
    - avifCodec*::destroyInternal
    linkageType: ''
    returnType: void
    signature: void avifCodecDestroy(avifCodec * codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: avifRGBFormatIsGray
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifRGBFormatIsGray(avifRGBFormat format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: avifRGBFormatHasAlpha
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifRGBFormatHasAlpha(avifRGBFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/avif.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifRGBFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: avifRGBFormatChannelCount
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 16
    functionsReached:
    - avifRGBFormatHasAlpha
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifRGBFormatChannelCount(avifRGBFormat format)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/src/avif.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: avifRGBImagePixelSize
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 4
    functionsReached:
    - avifRGBFormatChannelCount
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifRGBImagePixelSize(const avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - rgb
    - image
    argTypes:
    - avifRGBImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 713
    functionName: avifRGBImageSetDefaults
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifRGBImageSetDefaults(avifRGBImage * rgb, const avifImage *
      image)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/src/avif.c:717,1
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/src/avif.c:721,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:729,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 733
    functionName: avifRGBImageAllocatePixels
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 25
    functionsReached:
    - avifRGBImageFreePixels
    - avifAlloc
    - AVIF_CHECKERR
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageAllocatePixels(avifRGBImage * rgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: avifRGBImageFreePixels
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 22
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifRGBImageFreePixels(avifRGBImage * rgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dim
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 758
    functionName: calcCenter
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifFraction
    signature: avifFraction calcCenter(int32_t dim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: overflowsInt32
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool overflowsInt32(int64_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:768,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - cropRect
    - imageW
    - imageH
    - diag
    argTypes:
    - avifCropRect*
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 777
    functionName: avifCropRectIsValid
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCropRectIsValid(const avifCropRect * cropRect, uint32_t
      imageW, uint32_t imageH, avifDiagnostics * diag)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/avif.c:785,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:801,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:805,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:816,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:820,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:827,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:830,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:831,1
    - Dst: avifFractionAdd
      Src: /src/libavif/src/avif.c:837,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:838,1
    - Dst: avifFractionAdd
      Src: /src/libavif/src/avif.c:846,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:847,1
    - Dst: avifFractionSub
      Src: /src/libavif/src/avif.c:855,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:856,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:860,1
    - Dst: avifFractionSub
      Src: /src/libavif/src/avif.c:868,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:869,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:873,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:878,1
    - Dst: avifCropRectIsValid
      Src: /src/libavif/src/avif.c:886,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 5
    argNames:
    - cropRect
    - clap
    - imageW
    - imageH
    - diag
    argTypes:
    - avifCropRect*
    - avifCleanApertureBox*
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 887
    functionName: avifCropRectFromCleanApertureBox
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 4
    functionsReached:
    - calcCenter
    - avifCropRectIsValid
    - avifFractionAdd
    - avifFractionSub
    - avifDiagnosticsPrintf
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifCropRectFromCleanApertureBox(avifCropRect * cropRect,\n
      \                                         const avifCleanApertureBox * clap,\n
      \                                         uint32_t imageW,\n                                          uint32_t
      imageH,\n                                          avifDiagnostics * diag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/avif.c:895,1
    - Dst: avifCropRectIsValid
      Src: /src/libavif/src/avif.c:897,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:902,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:905,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:906,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:909,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:915,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/avif.c:917,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:918,1
    - Dst: calcCenter
      Src: /src/libavif/src/avif.c:922,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/avif.c:924,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:925,1
    - Dst: avifFractionSub
      Src: /src/libavif/src/avif.c:931,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:932,1
    - Dst: avifFractionSub
      Src: /src/libavif/src/avif.c:936,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:937,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 5
    argNames:
    - clap
    - cropRect
    - imageW
    - imageH
    - diag
    argTypes:
    - avifCleanApertureBox*
    - avifCropRect*
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 950
    functionName: avifCleanApertureBoxFromCropRect
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 6
    functionsReached:
    - calcCenter
    - overflowsInt32
    - avifCropRectIsValid
    - avifFractionSub
    - avifDiagnosticsPrintf
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifCleanApertureBoxFromCropRect(avifCleanApertureBox * clap,\n
      \                                         const avifCropRect * cropRect,\n                                          uint32_t
      imageW,\n                                          uint32_t imageH,\n                                          avifDiagnostics
      * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - cropRect
    - yuvFormat
    argTypes:
    - avifCropRect*
    - avifPixelFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 964
    functionName: avifCropRectRequiresUpsampling
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCropRectRequiresUpsampling(const avifCropRect * cropRect,
      avifPixelFormat yuvFormat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/src/avif.c:973,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/src/avif.c:984,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - cropRect
    - clap
    - imageW
    - imageH
    - yuvFormat
    - diag
    argTypes:
    - avifCropRect*
    - avifCleanApertureBox*
    - uint32_t
    - uint32_t
    - avifPixelFormat
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 989
    functionName: avifCropRectConvertCleanApertureBox
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached:
    - avifCropRectFromCleanApertureBox
    - avifDiagnosticsPrintf
    - avifCropRectRequiresUpsampling
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifCropRectConvertCleanApertureBox(avifCropRect * cropRect,\n
      \                                            const avifCleanApertureBox * clap,\n
      \                                            uint32_t imageW,\n                                             uint32_t
      imageH,\n                                             avifPixelFormat yuvFormat,\n
      \                                            avifDiagnostics * diag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/src/avif.c:1006,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:1007,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/src/avif.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - clap
    - cropRect
    - imageW
    - imageH
    - yuvFormat
    - diag
    argTypes:
    - avifCleanApertureBox*
    - avifCropRect*
    - uint32_t
    - uint32_t
    - avifPixelFormat
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 991
    functionDepth: 3
    functionLinenumber: 991
    functionLinenumberEnd: 1012
    functionName: avifCleanApertureBoxConvertCropRect
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached:
    - avifCleanApertureBoxFromCropRect
    - avifCropRectRequiresUpsampling
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifCleanApertureBoxConvertCropRect(avifCleanApertureBox
      * clap,\n                                             const avifCropRect * cropRect,\n
      \                                            uint32_t imageW,\n                                             uint32_t
      imageH,\n                                             avifPixelFormat yuvFormat,\n
      \                                            avifDiagnostics * diag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - itemCategory
    argTypes:
    - avifItemCategory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1026
    functionName: avifIsAlpha
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifIsAlpha(avifItemCategory itemCategory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:1037,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/avif.c:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 6
    argNames:
    - yuvFormat
    - imageW
    - imageH
    - tileW
    - tileH
    - diag
    argTypes:
    - avifPixelFormat
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1071
    functionName: avifAreGridDimensionsValid
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 9
    functionsReached:
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifAreGridDimensionsValid(avifPixelFormat yuvFormat, uint32_t
      imageW, uint32_t imageH, uint32_t tileW, uint32_t tileH, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libavif/src/avif.c:1079,1
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:1080,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1086
    functionName: avifStrdup
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - avifAlloc
    linkageType: ''
    returnType: char
    signature: char * avifStrdup(const char * str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:1090,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/avif.c:1091,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: avifCodecSpecificOptionsCreate
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - avifArrayCreate
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodecSpecificOptions
    signature: avifCodecSpecificOptions * avifCodecSpecificOptionsCreate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1105,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - csOptions
    argTypes:
    - avifCodecSpecificOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: avifCodecSpecificOptionsClear
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifCodecSpecificOptionsClear(avifCodecSpecificOptions * csOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecSpecificOptionsClear
      Src: /src/libavif/src/avif.c:1114,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/avif.c:1115,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - csOptions
    argTypes:
    - avifCodecSpecificOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: avifCodecSpecificOptionsDestroy
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifCodecSpecificOptionsClear
    linkageType: ''
    returnType: void
    signature: void avifCodecSpecificOptionsDestroy(avifCodecSpecificOptions * csOptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/src/avif.c:1124,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1127,1
    - Dst: avifStrdup
      Src: /src/libavif/src/avif.c:1128,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1129,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1132,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1133,1
    - Dst: memmove
      Src: /src/libavif/src/avif.c:1136,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/avif.c:1145,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1146,1
    - Dst: avifStrdup
      Src: /src/libavif/src/avif.c:1147,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1148,1
    - Dst: avifStrdup
      Src: /src/libavif/src/avif.c:1149,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - csOptions
    - key
    - value
    argTypes:
    - avifCodecSpecificOptions*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1153
    functionName: avifCodecSpecificOptionsSet
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifStrdup
    - memmove
    - avifArrayPush
    - strcmp
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCodecSpecificOptionsSet(avifCodecSpecificOptions * csOptions,
      const char * key, const char * value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - choice
    - requiredFlags
    argTypes:
    - avifCodecChoice
    - avifCodecFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1229
    functionName: findAvailableCodec
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct AvailableCodec
    signature: struct AvailableCodec * findAvailableCodec(avifCodecChoice choice,
      avifCodecFlags requiredFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findAvailableCodec
      Src: /src/libavif/src/avif.c:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - choice
    - requiredFlags
    argTypes:
    - avifCodecChoice
    - avifCodecFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1238
    functionName: avifCodecName
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 74
    functionsReached:
    - findAvailableCodec
    linkageType: ''
    returnType: char
    signature: char * avifCodecName(avifCodecChoice choice, avifCodecFlags requiredFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findAvailableCodec
      Src: /src/libavif/src/avif.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - choice
    - requiredFlags
    argTypes:
    - avifCodecChoice
    - avifCodecFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1247
    functionName: avifCodecTypeFromChoice
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - findAvailableCodec
    linkageType: ''
    returnType: avifCodecType
    signature: avifCodecType avifCodecTypeFromChoice(avifCodecChoice choice, avifCodecFlags
      requiredFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/src/avif.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1257
    functionName: avifCodecChoiceFromName
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: avifCodecChoice
    signature: avifCodecChoice avifCodecChoiceFromName(const char * name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findAvailableCodec
      Src: /src/libavif/src/avif.c:1262,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1263,1
    - Dst: struct AvailableCodec*::create
      Src: /src/libavif/src/avif.c:1264,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/avif.c:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - choice
    - requiredFlags
    - codec
    argTypes:
    - avifCodecChoice
    - avifCodecFlags
    - avifCodec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1267
    functionName: avifCodecCreate
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached:
    - AVIF_CHECKERR
    - findAvailableCodec
    - struct AvailableCodec*::create
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCodecCreate(avifCodecChoice choice, avifCodecFlags requiredFlags,
      avifCodec ** codec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libavif/src/avif.c:1271,1
    - Dst: memcpy
      Src: /src/libavif/src/avif.c:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - writePos
    - remainingLen
    - appendStr
    argTypes:
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1280
    functionName: append
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void append(char ** writePos, size_t * remainingLen, const char * appendStr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libavif/src/avif.c:1290,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1292,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1295,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1297,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1299,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1301,1
    - Dst: append
      Src: /src/libavif/src/avif.c:1302,1
    - Dst: version
      Src: /src/libavif/src/avif.c:1302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - outBuffer
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1304
    functionName: avifCodecVersions
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - version
    - append
    linkageType: ''
    returnType: void
    signature: void avifCodecVersions(char outBuffer[256])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/avif.c:1308,1
    - Dst: avifGainMapSetDefaults
      Src: /src/libavif/src/avif.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1319
    functionName: avifGainMapCreate
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 37
    functionsReached:
    - avifAlloc
    - avifGainMapSetDefaults
    linkageType: ''
    returnType: avifGainMap
    signature: avifGainMap * avifGainMapCreate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/avif.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1340
    functionName: avifGainMapSetDefaults
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avifGainMapSetDefaults(avifGainMap * gainMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDestroy
      Src: /src/libavif/src/avif.c:1345,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/avif.c:1347,1
    - Dst: avifFree
      Src: /src/libavif/src/avif.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1349
    functionName: avifGainMapDestroy
    functionSourceFile: /src/libavif/src/avif.c
    functionUses: 2
    functionsReached:
    - avifFree
    - avifImageDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifGainMapDestroy(avifGainMap * gainMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avm_codec_destroy
      Src: /src/libavif/src/codec_avm.c:41,1
    - Dst: avm_codec_destroy
      Src: /src/libavif/src/codec_avm.c:45,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_avm.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: avmCodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avm_codec_destroy
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avmCodecDestroyInternal(avifCodec * codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/codec_avm.c:55,1
    - Dst: avm_codec_version
      Src: /src/libavif/src/codec_avm.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: avifCheckCodecVersionAVM
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avm_codec_version
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCheckCodecVersionAVM()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/codec_avm.c:65,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/codec_avm.c:68,1
    - Dst: avifCheckCodecVersionAVM
      Src: /src/libavif/src/codec_avm.c:68,1
    - Dst: memset
      Src: /src/libavif/src/codec_avm.c:71,1
    - Dst: avm_codec_av2_dx
      Src: /src/libavif/src/codec_avm.c:74,1
    - Dst: avm_codec_dec_init
      Src: /src/libavif/src/codec_avm.c:75,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:80,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:83,1
    - Dst: avm_codec_get_frame
      Src: /src/libavif/src/codec_avm.c:93,1
    - Dst: avm_codec_decode
      Src: /src/libavif/src/codec_avm.c:106,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_avm.c:160,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_avm.c:186,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/codec_avm.c:191,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/codec_avm.c:192,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/codec_avm.c:192,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/codec_avm.c:194,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/codec_avm.c:195,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/codec_avm.c:197,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/codec_avm.c:198,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_avm.c:230,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/codec_avm.c:232,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/codec_avm.c:233,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/codec_avm.c:233,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 143
    argCount: 5
    argNames:
    - codec
    - sample
    - alpha
    - isLimitedRangeAlpha
    - image
    argTypes:
    - struct avifCodec*
    - avifDecodeSample*
    - avifBool
    - avifBool*
    - avifImage*
    assertStmts:
    - condition: (sample)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/libavif/src/codec_avm.c
    constantsTouched: []
    func_position:
      end: 253
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 253
    functionName: avmCodecGetNextImage
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avm_codec_dec_init
    - avifImagePlaneHeight
    - AVIF_CHECKRES
    - avm_codec_get_frame
    - avifImageAllocatePlanes
    - avifCheckCodecVersionAVM
    - assert
    - avm_codec_control
    - avifImageUsesU16
    - avifImagePlaneRowBytes
    - avm_codec_av2_dx
    - avm_codec_decode
    - memset
    - AVIF_CHECK
    - avifImagePlaneWidth
    - avifImageFreePlanes
    - avifImagePlane
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avmCodecGetNextImage(struct avifCodec * codec,\n                                     const
      avifDecodeSample * sample,\n                                     avifBool alpha,\n
      \                                    avifBool * isLimitedRangeAlpha,\n                                     avifImage
      * image)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - image
    - alpha
    argTypes:
    - avifImage*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 285
    functionName: avifImageCalcAVMFmt
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avm_img_fmt_t
    signature: avm_img_fmt_t avifImageCalcAVMFmt(const avifImage * image, avifBool
      alpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libavif/src/codec_avm.c:300,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_avm.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - str
    - enums
    - val
    argTypes:
    - char*
    - struct avmOptionEnumList*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 319
    functionName: avmOptionParseEnum
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - strtol
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avmOptionParseEnum(const char * str, const struct avmOptionEnumList
      * enums, int * val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/src/codec_avm.c:337,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:337,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_avm.c:337,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:338,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_avm.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - name
    - alpha
    argTypes:
    - char*
    - char*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: avifKeyEqualsName
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifKeyEqualsName(const char * key, const char * name, avifBool
      alpha)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_avm.c:346,1
    - Dst: avmOptionParseEnum
      Src: /src/libavif/src/codec_avm.c:347,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - codec
    - alpha
    - cfg
    argTypes:
    - avifCodec*
    - avifBool
    - struct avm_codec_enc_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: avifProcessAVMOptionsPreInit
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifKeyEqualsName
    - avmOptionParseEnum
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifProcessAVMOptionsPreInit(avifCodec * codec, avifBool alpha,
      struct avm_codec_enc_cfg * cfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:366,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:366,1
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_avm.c:371,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:380,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_avm.c:382,1
    - Dst: avm_codec_set_option
      Src: /src/libavif/src/codec_avm.c:385,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:386,1
    - Dst: avm_codec_error
      Src: /src/libavif/src/codec_avm.c:390,1
    - Dst: avm_codec_error_detail
      Src: /src/libavif/src/codec_avm.c:391,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_avm.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - codec
    - alpha
    argTypes:
    - avifCodec*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 399
    functionName: avifProcessAVMOptionsPostInit
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avm_codec_error_detail
    - avm_codec_error
    - avifKeyEqualsName
    - avifDiagnosticsPrintf
    - strcmp
    - avm_codec_set_option
    - strncmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifProcessAVMOptionsPostInit(avifCodec * codec, avifBool
      alpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/codec_avm.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - avifMode
    - avmMode
    argTypes:
    - avifFraction*
    - AVM_SCALING_MODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: avifFindAVMScalingMode
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avifFractionSimplify
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFindAVMScalingMode(const avifFraction * avifMode, AVM_SCALING_MODE
      * avmMode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_avm.c:434,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_avm.c:437,1
    - Dst: assert
      Src: /src/libavif/src/codec_avm.c:439,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_avm.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - quantizer
    - depth
    argTypes:
    - int
    - uint32_t
    assertStmts:
    - condition: (depth == 8)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/libavif/src/codec_avm.c
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: avmScaleQuantizer
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - assert
    - AVIF_CLAMP
    linkageType: ''
    returnType: int
    signature: int avmScaleQuantizer(int quantizer, uint32_t depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/codec_avm.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - quality
    - depth
    argTypes:
    - int
    - uint32_t
    assertStmts:
    - condition: (depth == 8)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/libavif/src/codec_avm.c
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: avmQualityToQuantizer
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int avmQualityToQuantizer(int quality, uint32_t depth)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: avmQualityToQuantizer
      Src: /src/libavif/src/codec_avm.c:474,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/codec_avm.c:482,1
    - Dst: avifCheckCodecVersionAVM
      Src: /src/libavif/src/codec_avm.c:482,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_avm.c:486,1
    - Dst: avifImageCalcAVMFmt
      Src: /src/libavif/src/codec_avm.c:489,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/codec_avm.c:494,1
    - Dst: avm_codec_av2_cx
      Src: /src/libavif/src/codec_avm.c:496,1
    - Dst: avm_codec_enc_config_default
      Src: /src/libavif/src/codec_avm.c:497,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:499,1
    - Dst: avm_codec_err_to_string
      Src: /src/libavif/src/codec_avm.c:499,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:514,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_avm.c:620,1
    - Dst: avifProcessAVMOptionsPreInit
      Src: /src/libavif/src/codec_avm.c:629,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:642,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:643,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/codec_avm.c:651,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_avm.c:652,1
    - Dst: avm_codec_enc_init
      Src: /src/libavif/src/codec_avm.c:659,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:660,1
    - Dst: avm_codec_error
      Src: /src/libavif/src/codec_avm.c:662,1
    - Dst: avm_codec_error_detail
      Src: /src/libavif/src/codec_avm.c:663,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:669,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:673,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:676,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:679,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:682,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:686,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:691,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:700,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:715,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:722,1
    - Dst: avifProcessAVMOptionsPostInit
      Src: /src/libavif/src/codec_avm.c:733,1
    - Dst: avm_codec_set_option
      Src: /src/libavif/src/codec_avm.c:737,1
    - Dst: avm_codec_set_option
      Src: /src/libavif/src/codec_avm.c:738,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:742,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:754,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:755,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:760,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:761,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:783,1
    - Dst: avmScaleQuantizer
      Src: /src/libavif/src/codec_avm.c:784,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/codec_avm.c:785,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_avm.c:786,1
    - Dst: avm_codec_enc_config_set
      Src: /src/libavif/src/codec_avm.c:792,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:794,1
    - Dst: avm_codec_error
      Src: /src/libavif/src/codec_avm.c:796,1
    - Dst: avm_codec_error_detail
      Src: /src/libavif/src/codec_avm.c:797,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:802,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:805,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:809,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:812,1
    - Dst: avifProcessAVMOptionsPostInit
      Src: /src/libavif/src/codec_avm.c:815,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:822,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:829,1
    - Dst: avifFindAVMScalingMode
      Src: /src/libavif/src/codec_avm.c:833,1
    - Dst: avifFindAVMScalingMode
      Src: /src/libavif/src/codec_avm.c:836,1
    - Dst: avm_codec_control
      Src: /src/libavif/src/codec_avm.c:841,1
    - Dst: avm_img_alloc
      Src: /src/libavif/src/codec_avm.c:860,1
    - Dst: memset
      Src: /src/libavif/src/codec_avm.c:862,1
    - Dst: memcpy
      Src: /src/libavif/src/codec_avm.c:908,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/codec_avm.c:925,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/codec_avm.c:926,1
    - Dst: memcpy
      Src: /src/libavif/src/codec_avm.c:932,1
    - Dst: avifImageUsesU16
      Src: /src/libavif/src/codec_avm.c:978,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_avm.c:982,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/codec_avm.c:983,1
    - Dst: memset
      Src: /src/libavif/src/codec_avm.c:999,1
    - Dst: avm_codec_encode
      Src: /src/libavif/src/codec_avm.c:1014,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_avm.c:1015,1
    - Dst: avm_img_free
      Src: /src/libavif/src/codec_avm.c:1017,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:1020,1
    - Dst: avm_codec_error
      Src: /src/libavif/src/codec_avm.c:1022,1
    - Dst: avm_codec_error_detail
      Src: /src/libavif/src/codec_avm.c:1023,1
    - Dst: avm_codec_get_cx_data
      Src: /src/libavif/src/codec_avm.c:1029,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/codec_avm.c:1034,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_avm.c:1035,1
    - Dst: avmCodecEncodeFinish
      Src: /src/libavif/src/codec_avm.c:1044,1
    - Dst: avm_codec_destroy
      Src: /src/libavif/src/codec_avm.c:1047,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 381
    argCount: 11
    argNames:
    - codec
    - encoder
    - image
    - alpha
    - tileRowsLog2
    - tileColsLog2
    - quality
    - encoderChanges
    - disableLaggedOutput
    - addImageFlags
    - output
    argTypes:
    - avifCodec*
    - avifEncoder*
    - avifImage*
    - avifBool
    - int
    - int
    - int
    - avifEncoderChanges
    - avifBool
    - avifAddImageFlags
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 1054
    functionName: avmCodecEncodeImage
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avm_codec_error
    - avifImagePlaneHeight
    - avifProcessAVMOptionsPostInit
    - avmScaleQuantizer
    - avm_codec_enc_init
    - avifGetPixelFormatInfo
    - avm_img_free
    - avifCodecEncodeOutputAddSample
    - AVIF_MIN
    - avifImageCalcAVMFmt
    - avm_codec_av2_cx
    - avifCheckCodecVersionAVM
    - avifImageUsesU16
    - avm_codec_enc_config_default
    - AVIF_CLAMP
    - memset
    - AVIF_CHECKERR
    - avifFree
    - avmCodecEncodeFinish
    - avm_codec_encode
    - avm_codec_destroy
    - memcpy
    - avm_codec_set_option
    - avm_codec_enc_config_set
    - avm_img_alloc
    - avm_codec_err_to_string
    - avm_codec_error_detail
    - avifProcessAVMOptionsPreInit
    - AVIF_CHECKRES
    - avmQualityToQuantizer
    - avifDiagnosticsPrintf
    - avifAlloc
    - avm_codec_control
    - avifFindAVMScalingMode
    - avifImagePlaneWidth
    - avm_codec_get_cx_data
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avmCodecEncodeImage(avifCodec * codec,\n                                      avifEncoder
      * encoder,\n                                      const avifImage * image,\n
      \                                     avifBool alpha,\n                                      int
      tileRowsLog2,\n                                      int tileColsLog2,\n                                      int
      quality,\n                                      avifEncoderChanges encoderChanges,\n
      \                                     avifBool disableLaggedOutput,\n                                      avifAddImageFlags
      addImageFlags,\n                                      avifCodecEncodeOutput
      * output)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avm_codec_encode
      Src: /src/libavif/src/codec_avm.c:1063,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:1064,1
    - Dst: avm_codec_error
      Src: /src/libavif/src/codec_avm.c:1066,1
    - Dst: avm_codec_error_detail
      Src: /src/libavif/src/codec_avm.c:1067,1
    - Dst: avm_codec_get_cx_data
      Src: /src/libavif/src/codec_avm.c:1074,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_avm.c:1080,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_avm.c:1085,1
    - Dst: avifResultToString
      Src: /src/libavif/src/codec_avm.c:1085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - codec
    - output
    argTypes:
    - avifCodec*
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1096
    functionName: avmCodecEncodeFinish
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 1
    functionsReached:
    - avm_codec_error_detail
    - avm_codec_error
    - avifResultToString
    - avifCodecEncodeOutputAddSample
    - avifDiagnosticsPrintf
    - avm_codec_encode
    - avm_codec_get_cx_data
    linkageType: ''
    returnType: avifBool
    signature: avifBool avmCodecEncodeFinish(avifCodec * codec, avifCodecEncodeOutput
      * output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avm_codec_version_str
      Src: /src/libavif/src/codec_avm.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1101
    functionName: avifCodecVersionAVM
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - avm_codec_version_str
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionAVM(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_avm.c:1105,1
    - Dst: memset
      Src: /src/libavif/src/codec_avm.c:1109,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_avm.c:1117,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_avm.c:1119,1
    - Dst: memset
      Src: /src/libavif/src/codec_avm.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1124
    functionName: avifCodecCreateAVM
    functionSourceFile: /src/libavif/src/codec_avm.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateAVM(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/rawdata.c:11,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/rawdata.c:12,1
    - Dst: memcpy
      Src: /src/libavif/src/rawdata.c:14,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/rawdata.c:14,1
    - Dst: avifFree
      Src: /src/libavif/src/rawdata.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - raw
    - newSize
    argTypes:
    - avifRWData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: avifRWDataRealloc
    functionSourceFile: /src/libavif/src/rawdata.c
    functionUses: 15
    functionsReached:
    - avifFree
    - AVIF_MIN
    - avifAlloc
    - memcpy
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWDataRealloc(avifRWData * raw, size_t newSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/rawdata.c:26,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/rawdata.c:26,1
    - Dst: memcpy
      Src: /src/libavif/src/rawdata.c:27,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/rawdata.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - raw
    - data
    - len
    argTypes:
    - avifRWData*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: avifRWDataSet
    functionSourceFile: /src/libavif/src/rawdata.c
    functionUses: 17
    functionsReached:
    - AVIF_CHECKRES
    - avifRWDataRealloc
    - memcpy
    - avifRWDataFree
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWDataSet(avifRWData * raw, const uint8_t * data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/rawdata.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - raw
    argTypes:
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: avifRWDataFree
    functionSourceFile: /src/libavif/src/rawdata.c
    functionUses: 12
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifRWDataFree(avifRWData * raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/libavif/src/colrconvert.c:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - xy
    - XYZ
    argTypes:
    - float[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: avifXyToXYZ
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifXyToXYZ(const float xy[2], double XYZ[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libavif/src/colrconvert.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - M
    - I
    argTypes:
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: avifMatInv
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifMatInv(double M[3][3], double I[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - A
    - B
    - C
    argTypes:
    - double[][]
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: avifMatMul
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifMatMul(double A[3][3], double B[3][3], double C[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - d
    - M
    argTypes:
    - double[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: avifMatDiag
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifMatDiag(const double d[3], double M[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - M
    - x
    - y
    argTypes:
    - double[][]
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: avifVecMul
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifVecMul(double M[3][3], const double x[3], double y[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/src/colrconvert.c:97,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:100,1
    - Dst: avifXyToXYZ
      Src: /src/libavif/src/colrconvert.c:100,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:109,1
    - Dst: avifMatInv
      Src: /src/libavif/src/colrconvert.c:109,1
    - Dst: avifVecMul
      Src: /src/libavif/src/colrconvert.c:112,1
    - Dst: avifMatDiag
      Src: /src/libavif/src/colrconvert.c:115,1
    - Dst: avifMatMul
      Src: /src/libavif/src/colrconvert.c:118,1
    - Dst: avifVecMul
      Src: /src/libavif/src/colrconvert.c:124,1
    - Dst: fabs
      Src: /src/libavif/src/colrconvert.c:126,1
    - Dst: avifMatDiag
      Src: /src/libavif/src/colrconvert.c:133,1
    - Dst: avifMatMul
      Src: /src/libavif/src/colrconvert.c:136,1
    - Dst: avifMatInv
      Src: /src/libavif/src/colrconvert.c:139,1
    - Dst: avifMatMul
      Src: /src/libavif/src/colrconvert.c:142,1
    - Dst: avifMatMul
      Src: /src/libavif/src/colrconvert.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - colorPrimaries
    - coeffs
    argTypes:
    - avifColorPrimaries
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 147
    functionName: avifColorPrimariesComputeRGBToXYZD50Matrix
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 4
    functionsReached:
    - avifXyToXYZ
    - fabs
    - avifMatMul
    - avifMatDiag
    - avifMatInv
    - avifVecMul
    - AVIF_CHECK
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifColorPrimariesComputeRGBToXYZD50Matrix(avifColorPrimaries
      colorPrimaries, double coeffs[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:152,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/src/colrconvert.c:152,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:153,1
    - Dst: avifMatInv
      Src: /src/libavif/src/colrconvert.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - colorPrimaries
    - coeffs
    argTypes:
    - avifColorPrimaries
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: avifColorPrimariesComputeXYZD50ToRGBMatrix
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 4
    functionsReached:
    - avifMatInv
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifColorPrimariesComputeXYZD50ToRGBMatrix(avifColorPrimaries
      colorPrimaries, double coeffs[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:164,1
    - Dst: avifColorPrimariesComputeRGBToXYZD50Matrix
      Src: /src/libavif/src/colrconvert.c:164,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/colrconvert.c:166,1
    - Dst: avifColorPrimariesComputeXYZD50ToRGBMatrix
      Src: /src/libavif/src/colrconvert.c:166,1
    - Dst: avifMatMul
      Src: /src/libavif/src/colrconvert.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - srcColorPrimaries
    - dstColorPrimaries
    - coeffs
    argTypes:
    - avifColorPrimaries
    - avifColorPrimaries
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: avifColorPrimariesComputeRGBToRGBMatrix
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 15
    functionsReached:
    - avifColorPrimariesComputeXYZD50ToRGBMatrix
    - avifMatMul
    - avifColorPrimariesComputeRGBToXYZD50Matrix
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifColorPrimariesComputeRGBToRGBMatrix(avifColorPrimaries
      srcColorPrimaries,\n                                                 avifColorPrimaries
      dstColorPrimaries,\n                                                 double
      coeffs[3][3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifVecMul
      Src: /src/libavif/src/colrconvert.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rgb
    - coeffs
    argTypes:
    - float[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: avifLinearRGBConvertColorSpace
    functionSourceFile: /src/libavif/src/colrconvert.c
    functionUses: 7
    functionsReached:
    - avifVecMul
    linkageType: ''
    returnType: void
    signature: void avifLinearRGBConvertColorSpace(float rgb[4], double coeffs[3][3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_allSpecs
      Src: /src/libavif/src/compliance.cc:27,1
    - Dst: registerSpec
      Src: /src/libavif/src/compliance.cc:28,1
    - Dst: registerSpec
      Src: /src/libavif/src/compliance.cc:29,1
    - Dst: registerSpec
      Src: /src/libavif/src/compliance.cc:30,1
    - Dst: registerSpec
      Src: /src/libavif/src/compliance.cc:31,1
    - Dst: registerSpec
      Src: /src/libavif/src/compliance.cc:32,1
    - Dst: BoxReader::myBox::syms::push_back
      Src: /src/libavif/src/compliance.cc:39,1
    - Dst: static_cast<int64_t>
      Src: /src/libavif/src/compliance.cc:39,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/compliance.cc:41,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/libavif/src/compliance.cc:41,1
    - Dst: const_cast<uint8_t *>
      Src: /src/libavif/src/compliance.cc:42,1
    - Dst: static_cast<int>
      Src: /src/libavif/src/compliance.cc:42,1
    - Dst: const_cast<uint8_t *>
      Src: /src/libavif/src/compliance.cc:43,1
    - Dst: FOURCC
      Src: /src/libavif/src/compliance.cc:46,1
    - Dst: specFind
      Src: /src/libavif/src/compliance.cc:47,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/compliance.cc:48,1
    - Dst: getParseFunction
      Src: /src/libavif/src/compliance.cc:49,1
    - Dst: parseFunc
      Src: /src/libavif/src/compliance.cc:50,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/compliance.cc:52,1
    - Dst: checkComplianceStd
      Src: /src/libavif/src/compliance.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: avifIsCompliant
    functionSourceFile: /src/libavif/src/compliance.cc
    functionUses: 1
    functionsReached:
    - getParseFunction
    - checkComplianceStd
    - parseFunc
    - registerSpec
    - g_allSpecs
    - FOURCC
    - BoxReader::myBox::syms::push_back
    - static_cast<int64_t>
    - specFind
    - std::numeric_limits<int>::max
    - AVIF_CHECKERR
    - const_cast<uint8_t *>
    - static_cast<int>
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifIsCompliant(const uint8_t * data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_destroy
      Src: /src/libavif/src/codec_aom.c:80,1
    - Dst: aom_codec_destroy
      Src: /src/libavif/src/codec_aom.c:86,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_aom.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: aomCodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - avifFree
    - aom_codec_destroy
    linkageType: ''
    returnType: void
    signature: void aomCodecDestroyInternal(avifCodec * codec)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/codec_aom.c:101,1
    - Dst: aom_codec_av1_dx
      Src: /src/libavif/src/codec_aom.c:103,1
    - Dst: aom_codec_peek_stream_info
      Src: /src/libavif/src/codec_aom.c:105,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:107,1
    - Dst: aom_codec_err_to_string
      Src: /src/libavif/src/codec_aom.c:107,1
    - Dst: avifDimensionsTooLarge
      Src: /src/libavif/src/codec_aom.c:117,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:118,1
    - Dst: memset
      Src: /src/libavif/src/codec_aom.c:125,1
    - Dst: aom_codec_dec_init
      Src: /src/libavif/src/codec_aom.c:129,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:134,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:137,1
    - Dst: aom_codec_get_frame
      Src: /src/libavif/src/codec_aom.c:147,1
    - Dst: aom_codec_decode
      Src: /src/libavif/src/codec_aom.c:162,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:163,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:164,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:166,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_aom.c:226,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_aom.c:242,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_aom.c:263,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 125
    argCount: 5
    argNames:
    - codec
    - sample
    - alpha
    - isLimitedRangeAlpha
    - image
    argTypes:
    - struct avifCodec*
    - avifDecodeSample*
    - avifBool
    - avifBool*
    - avifImage*
    assertStmts:
    - condition: (sample)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/libavif/src/codec_aom.c
    constantsTouched: []
    func_position:
      end: 271
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 271
    functionName: aomCodecGetNextImage
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - avifDimensionsTooLarge
    - aom_codec_err_to_string
    - aom_codec_error_detail
    - aom_codec_peek_stream_info
    - avifDiagnosticsPrintf
    - aom_codec_decode
    - assert
    - aom_codec_dec_init
    - aom_codec_error
    - aom_codec_control
    - aom_codec_av1_dx
    - memset
    - aom_codec_get_frame
    - avifImageFreePlanes
    linkageType: ''
    returnType: avifBool
    signature: "avifBool aomCodecGetNextImage(struct avifCodec * codec,\n                                     const
      avifDecodeSample * sample,\n                                     avifBool alpha,\n
      \                                    avifBool * isLimitedRangeAlpha,\n                                     avifImage
      * image)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - image
    - alpha
    argTypes:
    - avifImage*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: avifImageCalcAOMFmt
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: aom_img_fmt_t
    signature: aom_img_fmt_t avifImageCalcAOMFmt(const avifImage * image, avifBool
      alpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libavif/src/codec_aom.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: aomOptionParseInt
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: avifBool
    signature: avifBool aomOptionParseInt(const char * str, int * val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libavif/src/codec_aom.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: aomOptionParseUInt
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: avifBool
    signature: avifBool aomOptionParseUInt(const char * str, unsigned int * val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libavif/src/codec_aom.c:349,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_aom.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - str
    - enums
    - val
    argTypes:
    - char*
    - struct aomOptionEnumList*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 368
    functionName: aomOptionParseEnum
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - strtol
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool aomOptionParseEnum(const char * str, const struct aomOptionEnumList
      * enums, int * val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/src/codec_aom.c:384,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:384,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_aom.c:384,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:385,1
    - Dst: strcmp
      Src: /src/libavif/src/codec_aom.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - name
    - alpha
    argTypes:
    - char*
    - char*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: avifKeyEqualsName
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifKeyEqualsName(const char * key, const char * name, avifBool
      alpha)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_aom.c:408,1
    - Dst: aomOptionParseEnum
      Src: /src/libavif/src/codec_aom.c:412,1
    - Dst: assert
      Src: /src/libavif/src/codec_aom.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - codec
    - alpha
    - useTuneIq
    argTypes:
    - avifCodec*
    - avifBool
    - avifBool*
    assertStmts:
    - condition: (val == AOM_TUNE_IQ)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/libavif/src/codec_aom.c
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: avifAOMOptionsContainExplicitTuning
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - aomOptionParseEnum
    - avifKeyEqualsName
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifAOMOptionsContainExplicitTuning(const avifCodec * codec,
      avifBool alpha, avifBool * useTuneIq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_aom.c:428,1
    - Dst: aomOptionParseEnum
      Src: /src/libavif/src/codec_aom.c:429,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - codec
    - alpha
    - cfg
    argTypes:
    - avifCodec*
    - avifBool
    - struct aom_codec_enc_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: avifProcessAOMOptionsPreInit
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - aomOptionParseEnum
    - avifDiagnosticsPrintf
    - avifKeyEqualsName
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifProcessAOMOptionsPreInit(avifCodec * codec, avifBool alpha,
      struct aom_codec_enc_cfg * cfg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:494,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:494,1
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_aom.c:499,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:509,1
    - Dst: strncmp
      Src: /src/libavif/src/codec_aom.c:511,1
    - Dst: aom_codec_set_option
      Src: /src/libavif/src/codec_aom.c:514,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:515,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:519,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:520,1
    - Dst: avifKeyEqualsName
      Src: /src/libavif/src/codec_aom.c:526,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:536,1
    - Dst: aomOptionParseInt
      Src: /src/libavif/src/codec_aom.c:539,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:540,1
    - Dst: aomOptionParseUInt
      Src: /src/libavif/src/codec_aom.c:543,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:544,1
    - Dst: aomOptionParseEnum
      Src: /src/libavif/src/codec_aom.c:547,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:548,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - codec
    - alpha
    argTypes:
    - avifCodec*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 563
    functionName: avifProcessAOMOptionsPostInit
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - avifKeyEqualsName
    - aom_codec_error_detail
    - aom_codec_set_option
    - avifDiagnosticsPrintf
    - aomOptionParseUInt
    - aom_codec_error
    - aom_codec_control
    - aomOptionParseEnum
    - strncmp
    - aomOptionParseInt
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifProcessAOMOptionsPostInit(avifCodec * codec, avifBool
      alpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/codec_aom.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - avifMode
    - aomMode
    argTypes:
    - avifFraction*
    - AOM_SCALING_MODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: avifFindAOMScalingMode
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - avifFractionSimplify
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFindAOMScalingMode(const avifFraction * avifMode, AOM_SCALING_MODE
      * aomMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - width
    - height
    - levelWidth
    - levelHeight
    - levelDimMult
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: doesLevelMatch
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool doesLevelMatch(int width, int height, int levelWidth, int
      levelHeight, int levelDimMult)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - quality
    - isTuneIq
    argTypes:
    - int
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: aomQualityToQuantizer
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aomQualityToQuantizer(int quality, avifBool isTuneIq)
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:704,1
    - Dst: aom_codec_version
      Src: /src/libavif/src/codec_aom.c:718,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:723,1
    - Dst: avifAOMOptionsContainExplicitTuning
      Src: /src/libavif/src/codec_aom.c:734,1
    - Dst: aomQualityToQuantizer
      Src: /src/libavif/src/codec_aom.c:777,1
    - Dst: avifImageCalcAOMFmt
      Src: /src/libavif/src/codec_aom.c:785,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/codec_aom.c:790,1
    - Dst: aom_codec_av1_cx
      Src: /src/libavif/src/codec_aom.c:792,1
    - Dst: aom_codec_enc_config_default
      Src: /src/libavif/src/codec_aom.c:793,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:795,1
    - Dst: aom_codec_err_to_string
      Src: /src/libavif/src/codec_aom.c:795,1
    - Dst: doesLevelMatch
      Src: /src/libavif/src/codec_aom.c:871,1
    - Dst: doesLevelMatch
      Src: /src/libavif/src/codec_aom.c:872,1
    - Dst: doesLevelMatch
      Src: /src/libavif/src/codec_aom.c:873,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:874,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_aom.c:916,1
    - Dst: avifProcessAOMOptionsPreInit
      Src: /src/libavif/src/codec_aom.c:923,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:936,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:937,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/codec_aom.c:945,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_aom.c:946,1
    - Dst: aom_codec_enc_init
      Src: /src/libavif/src/codec_aom.c:957,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:958,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:960,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:961,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:967,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:971,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:974,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:977,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:981,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:986,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:995,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1013,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1016,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1019,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1022,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1029,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1046,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1051,1
    - Dst: avifProcessAOMOptionsPostInit
      Src: /src/libavif/src/codec_aom.c:1054,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1060,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1072,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1073,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1078,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1079,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1101,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_aom.c:1102,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/codec_aom.c:1103,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_aom.c:1104,1
    - Dst: aom_codec_enc_config_set
      Src: /src/libavif/src/codec_aom.c:1110,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:1112,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:1114,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:1115,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1120,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1123,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1127,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1130,1
    - Dst: avifProcessAOMOptionsPostInit
      Src: /src/libavif/src/codec_aom.c:1135,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:1142,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1149,1
    - Dst: avifFindAOMScalingMode
      Src: /src/libavif/src/codec_aom.c:1153,1
    - Dst: avifFindAOMScalingMode
      Src: /src/libavif/src/codec_aom.c:1156,1
    - Dst: aom_codec_control
      Src: /src/libavif/src/codec_aom.c:1161,1
    - Dst: aom_img_alloc
      Src: /src/libavif/src/codec_aom.c:1180,1
    - Dst: memset
      Src: /src/libavif/src/codec_aom.c:1182,1
    - Dst: memcpy
      Src: /src/libavif/src/codec_aom.c:1226,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/codec_aom.c:1243,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/codec_aom.c:1244,1
    - Dst: memcpy
      Src: /src/libavif/src/codec_aom.c:1250,1
    - Dst: aom_codec_encode
      Src: /src/libavif/src/codec_aom.c:1282,1
    - Dst: aom_img_free
      Src: /src/libavif/src/codec_aom.c:1284,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:1287,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:1289,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:1290,1
    - Dst: aom_codec_get_cx_data
      Src: /src/libavif/src/codec_aom.c:1296,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/codec_aom.c:1301,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_aom.c:1302,1
    - Dst: aomCodecEncodeFinish
      Src: /src/libavif/src/codec_aom.c:1311,1
    - Dst: aom_codec_destroy
      Src: /src/libavif/src/codec_aom.c:1314,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 390
    argCount: 11
    argNames:
    - codec
    - encoder
    - image
    - alpha
    - tileRowsLog2
    - tileColsLog2
    - quality
    - encoderChanges
    - disableLaggedOutput
    - addImageFlags
    - output
    argTypes:
    - avifCodec*
    - avifEncoder*
    - avifImage*
    - avifBool
    - int
    - int
    - int
    - avifEncoderChanges
    - avifBool
    - avifAddImageFlags
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 1321
    functionName: aomCodecEncodeImage
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - aom_codec_enc_config_set
    - avifImagePlaneHeight
    - aom_codec_error_detail
    - aom_codec_encode
    - avifImageCalcAOMFmt
    - aom_codec_enc_init
    - aom_codec_error
    - aom_codec_destroy
    - doesLevelMatch
    - avifAOMOptionsContainExplicitTuning
    - avifGetPixelFormatInfo
    - avifCodecEncodeOutputAddSample
    - AVIF_MIN
    - aomQualityToQuantizer
    - aom_codec_get_cx_data
    - avifProcessAOMOptionsPostInit
    - AVIF_CLAMP
    - memset
    - aomCodecEncodeFinish
    - aom_codec_control
    - memcpy
    - aom_codec_enc_config_default
    - aom_img_free
    - aom_codec_version
    - aom_codec_err_to_string
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - avifFindAOMScalingMode
    - avifImagePlaneWidth
    - aom_codec_av1_cx
    - avifProcessAOMOptionsPreInit
    - aom_img_alloc
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: "avifResult aomCodecEncodeImage(avifCodec * codec,\n                                      avifEncoder
      * encoder,\n                                      const avifImage * image,\n
      \                                     avifBool alpha,\n                                      int
      tileRowsLog2,\n                                      int tileColsLog2,\n                                      int
      quality,\n                                      avifEncoderChanges encoderChanges,\n
      \                                     avifBool disableLaggedOutput,\n                                      avifAddImageFlags
      addImageFlags,\n                                      avifCodecEncodeOutput
      * output)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_encode
      Src: /src/libavif/src/codec_aom.c:1330,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:1331,1
    - Dst: aom_codec_error
      Src: /src/libavif/src/codec_aom.c:1333,1
    - Dst: aom_codec_error_detail
      Src: /src/libavif/src/codec_aom.c:1334,1
    - Dst: aom_codec_get_cx_data
      Src: /src/libavif/src/codec_aom.c:1341,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_aom.c:1347,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_aom.c:1352,1
    - Dst: avifResultToString
      Src: /src/libavif/src/codec_aom.c:1352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - codec
    - output
    argTypes:
    - avifCodec*
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1363
    functionName: aomCodecEncodeFinish
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 1
    functionsReached:
    - avifResultToString
    - avifCodecEncodeOutputAddSample
    - aom_codec_error_detail
    - aom_codec_encode
    - aom_codec_get_cx_data
    - avifDiagnosticsPrintf
    - aom_codec_error
    linkageType: ''
    returnType: avifBool
    signature: avifBool aomCodecEncodeFinish(avifCodec * codec, avifCodecEncodeOutput
      * output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_version_str
      Src: /src/libavif/src/codec_aom.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1370
    functionName: avifCodecVersionAOM
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - aom_codec_version_str
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionAOM(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_aom.c:1374,1
    - Dst: memset
      Src: /src/libavif/src/codec_aom.c:1378,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_aom.c:1390,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_aom.c:1392,1
    - Dst: memset
      Src: /src/libavif/src/codec_aom.c:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1397
    functionName: avifCodecCreateAOM
    functionSourceFile: /src/libavif/src/codec_aom.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateAOM(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: SVT_AV1_CHECK_VERSION
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SVT_AV1_CHECK_VERSION(major, minor, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: STR_HELPER
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_HELPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: STR
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quality
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: svtQualityToQuantizer
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int svtQualityToQuantizer(int quality)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/codec_svt.c:139,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:141,1
    - Dst: svt_av1_enc_init_handle
      Src: /src/libavif/src/codec_svt.c:142,1
    - Dst: svt_av1_enc_init_handle
      Src: /src/libavif/src/codec_svt.c:144,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:163,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:168,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:173,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:179,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_svt.c:188,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_svt.c:189,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_svt.c:191,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_svt.c:192,1
    - Dst: svtQualityToQuantizer
      Src: /src/libavif/src/codec_svt.c:194,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:203,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_svt.c:206,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:229,1
    - Dst: svt_av1_enc_parse_parameter
      Src: /src/libavif/src/codec_svt.c:232,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_svt.c:233,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/codec_svt.c:240,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:246,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:250,1
    - Dst: svt_av1_enc_set_parameter
      Src: /src/libavif/src/codec_svt.c:256,1
    - Dst: svt_av1_enc_init
      Src: /src/libavif/src/codec_svt.c:261,1
    - Dst: allocate_svt_buffers
      Src: /src/libavif/src/codec_svt.c:267,1
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:283,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_svt.c:294,1
    - Dst: memset
      Src: /src/libavif/src/codec_svt.c:298,1
    - Dst: svt_av1_enc_send_picture
      Src: /src/libavif/src/codec_svt.c:343,1
    - Dst: dequeue_frame
      Src: /src/libavif/src/codec_svt.c:348,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_svt.c:351,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_svt.c:355,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_svt.c:357,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 196
    argCount: 11
    argNames:
    - codec
    - encoder
    - image
    - alpha
    - tileRowsLog2
    - tileColsLog2
    - quality
    - encoderChanges
    - disableLaggedOutput
    - addImageFlags
    - output
    argTypes:
    - avifCodec*
    - avifEncoder*
    - avifImage*
    - avifBool
    - int
    - int
    - int
    - avifEncoderChanges
    - avifBool
    - uint32_t
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 360
    functionName: svtCodecEncodeImage
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached:
    - avifFree
    - dequeue_frame
    - svtQualityToQuantizer
    - svt_av1_enc_parse_parameter
    - svt_av1_enc_init
    - svt_av1_enc_init_handle
    - SVT_AV1_CHECK_VERSION
    - avifAlloc
    - avifDiagnosticsPrintf
    - svt_av1_enc_send_picture
    - svt_av1_enc_set_parameter
    - AVIF_CLAMP
    - memset
    - allocate_svt_buffers
    linkageType: ''
    returnType: avifResult
    signature: "avifResult svtCodecEncodeImage(avifCodec * codec,\n                                      avifEncoder
      * encoder,\n                                      const avifImage * image,\n
      \                                     avifBool alpha,\n                                      int
      tileRowsLog2,\n                                      int tileColsLog2,\n                                      int
      quality,\n                                      avifEncoderChanges encoderChanges,\n
      \                                     avifBool disableLaggedOutput,\n                                      uint32_t
      addImageFlags,\n                                      avifCodecEncodeOutput
      * output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: svt_av1_enc_send_picture
      Src: /src/libavif/src/codec_svt.c:376,1
    - Dst: dequeue_frame
      Src: /src/libavif/src/codec_svt.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - codec
    - output
    argTypes:
    - avifCodec*
    - avifCodecEncodeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: svtCodecEncodeFinish
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached:
    - dequeue_frame
    - svt_av1_enc_send_picture
    linkageType: ''
    returnType: avifBool
    signature: avifBool svtCodecEncodeFinish(avifCodec * codec, avifCodecEncodeOutput
      * output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SVT_AV1_CHECK_VERSION
      Src: /src/libavif/src/codec_svt.c:386,1
    - Dst: svt_av1_get_version
      Src: /src/libavif/src/codec_svt.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: avifCodecVersionSvt
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 4
    functionsReached:
    - svt_av1_get_version
    - SVT_AV1_CHECK_VERSION
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionSvt(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: svt_av1_enc_deinit
      Src: /src/libavif/src/codec_svt.c:396,1
    - Dst: svt_av1_enc_deinit_handle
      Src: /src/libavif/src/codec_svt.c:397,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_svt.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: svtCodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached:
    - svt_av1_enc_deinit_handle
    - avifFree
    - svt_av1_enc_deinit
    linkageType: ''
    returnType: void
    signature: void svtCodecDestroyInternal(avifCodec * codec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_svt.c:405,1
    - Dst: memset
      Src: /src/libavif/src/codec_svt.c:409,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_svt.c:414,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_svt.c:416,1
    - Dst: memset
      Src: /src/libavif/src/codec_svt.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: avifCodecCreateSvt
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateSvt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_svt.c:425,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_svt.c:429,1
    - Dst: memset
      Src: /src/libavif/src/codec_svt.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - input_buf
    argTypes:
    - EbBufferHeaderType**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: allocate_svt_buffers
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 1
    functionsReached:
    - memset
    - avifAlloc
    linkageType: ''
    returnType: avifBool
    signature: avifBool allocate_svt_buffers(EbBufferHeaderType ** input_buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: svt_av1_enc_get_packet
      Src: /src/libavif/src/codec_svt.c:450,1
    - Dst: avifCodecEncodeOutputAddSample
      Src: /src/libavif/src/codec_svt.c:454,1
    - Dst: svt_av1_enc_release_out_buffer
      Src: /src/libavif/src/codec_svt.c:459,1
    - Dst: svt_av1_enc_release_out_buffer
      Src: /src/libavif/src/codec_svt.c:463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - codec
    - output
    - done_sending_pics
    argTypes:
    - avifCodec*
    - avifCodecEncodeOutput*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 470
    functionName: dequeue_frame
    functionSourceFile: /src/libavif/src/codec_svt.c
    functionUses: 2
    functionsReached:
    - svt_av1_enc_get_packet
    - avifCodecEncodeOutputAddSample
    - svt_av1_enc_release_out_buffer
    linkageType: ''
    returnType: avifResult
    signature: avifResult dequeue_frame(avifCodec * codec, avifCodecEncodeOutput *
      output, avifBool done_sending_pics)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - image
    - rgb
    argTypes:
    - avifImage*
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: avifImageRGBToYUVLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUVLibYUV(avifImage * image, const avifRGBImage
      * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - image
    - rgb
    - reformatAlpha
    - alphaReformattedWithLibYUV
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifBool
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: avifImageYUVToRGBLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUVToRGBLibYUV(const avifImage * image, avifRGBImage
      * rgb, avifBool reformatAlpha, avifBool * alphaReformattedWithLibYUV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: avifRGBImagePremultiplyAlphaLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImagePremultiplyAlphaLibYUV(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: avifRGBImageUnpremultiplyAlphaLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageUnpremultiplyAlphaLibYUV(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avifRGBImageToF16LibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageToF16LibYUV(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: avifLibYUVVersion
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int avifLibYUVVersion(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/reformat_libyuv.c:157,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/reformat_libyuv.c:176,1
    - Dst: avifAlloc
      Src: /src/libavif/src/reformat_libyuv.c:178,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat_libyuv.c:184,1
    - Dst: ReorderARGB
      Src: /src/libavif/src/reformat_libyuv.c:185,1
    - Dst: ConvertToYUV
      Src: /src/libavif/src/reformat_libyuv.c:186,1
    - Dst: avifFree
      Src: /src/libavif/src/reformat_libyuv.c:187,1
    - Dst: avifFree
      Src: /src/libavif/src/reformat_libyuv.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 11
    argNames:
    - src_abgr
    - src_stride_abgr
    - dst_y
    - dst_stride_y
    - dst_u
    - dst_stride_u
    - dst_v
    - dst_stride_v
    - dst_format
    - width
    - height
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - uint8_t*
    - int
    - uint8_t*
    - int
    - avifPixelFormat
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 198
    functionName: avifReorderARGBThenConvertToYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifGetPixelFormatInfo
    - ReorderARGB
    - AVIF_MIN
    - avifAlloc
    - ConvertToYUV
    - AVIF_MAX
    linkageType: ''
    returnType: int
    signature: "int avifReorderARGBThenConvertToYUV(int (*ReorderARGB)(const uint8_t
      *, int, uint8_t *, int, int, int),\n                                           int
      (*ConvertToYUV)(const uint8_t *, int, uint8_t *, int, uint8_t *, int, uint8_t
      *, int, int, int),\n                                           const uint8_t
      * src_abgr,\n                                           int src_stride_abgr,\n
      \                                          uint8_t * dst_y,\n                                           int
      dst_stride_y,\n                                           uint8_t * dst_u,\n
      \                                          int dst_stride_u,\n                                           uint8_t
      * dst_v,\n                                           int dst_stride_v,\n                                           avifPixelFormat
      dst_format,\n                                           int width,\n                                           int
      height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - NAME
    - ','
    - REORDER_ARGB
    - ','
    - CONVERT_TO_YUV
    - ','
    - YUV_FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: AVIF_DEFINE_CONVERSION
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_DEFINE_CONVERSION(NAME, REORDER_ARGB, CONVERT_TO_YUV, YUV_FORMAT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageRGBToYUVLibYUV8bpc
      Src: /src/libavif/src/reformat_libyuv.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - image
    - rgb
    argTypes:
    - avifImage*
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: avifImageRGBToYUVLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - avifImageRGBToYUVLibYUV8bpc
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUVLibYUV(avifImage * image, const avifRGBImage
      * rgb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/reformat_libyuv.c:284,1
    - Dst: rgbToY
      Src: /src/libavif/src/reformat_libyuv.c:320,1
    - Dst: rgbToYuv
      Src: /src/libavif/src/reformat_libyuv.c:360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - image
    - rgb
    argTypes:
    - avifImage*
    - avifRGBImage*
    assertStmts:
    - condition: ((image->depth == 8) && (rgb->depth == 8))
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/libavif/src/reformat_libyuv.c
    constantsTouched: []
    func_position:
      end: 378
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 378
    functionName: avifImageRGBToYUVLibYUV8bpc
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 1
    functionsReached:
    - rgbToYuv
    - rgbToY
    - assert
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUVLibYUV8bpc(avifImage * image, const avifRGBImage
      * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - chromaUpsampling
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: nearestNeighborFilterAllowed
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool nearestNeighborFilterAllowed(int chromaUpsampling)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/reformat_libyuv.c:711,1
    - Dst: assert
      Src: /src/libavif/src/reformat_libyuv.c:712,1
    - Dst: assert
      Src: /src/libavif/src/reformat_libyuv.c:714,1
    - Dst: nearestNeighborFilterAllowed
      Src: /src/libavif/src/reformat_libyuv.c:728,1
    - Dst: nearestNeighborFilterAllowed
      Src: /src/libavif/src/reformat_libyuv.c:758,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - yuvFormat
    - yuvDepth
    - rgb
    - alphaPreferred
    - lcf
    argTypes:
    - avifPixelFormat
    - int
    - avifRGBImage*
    - avifBool
    - LibyuvConversionFunction*
    assertStmts:
    - condition: (yuvDepth == 10 || yuvDepth == 12)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/libavif/src/reformat_libyuv.c
    - condition: (rgb->depth == 8)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/libavif/src/reformat_libyuv.c
    constantsTouched: []
    func_position:
      end: 770
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 770
    functionName: getLibYUVConversionFunction
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - memset
    - nearestNeighborFilterAllowed
    - assert
    linkageType: ''
    returnType: avifBool
    signature: "avifBool getLibYUVConversionFunction(avifPixelFormat yuvFormat,\n
      \                                           int yuvDepth,\n                                            avifRGBImage
      * rgb,\n                                            avifBool alphaPreferred,\n
      \                                           LibyuvConversionFunction * lcf)"
  - BBCount: 56
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 108
    argCount: 3
    argNames:
    - image
    - matrixYUV
    - matrixYVU
    argTypes:
    - avifImage*
    - struct YuvConstants**
    - struct YuvConstants**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 901
    functionName: getLibYUVConstants
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getLibYUVConstants(const avifImage * image, const struct YuvConstants
      ** matrixYUV, const struct YuvConstants ** matrixYVU)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifImageSetDefaults
      Src: /src/libavif/src/reformat_libyuv.c:905,1
    - Dst: avifImageCopyNoAlloc
      Src: /src/libavif/src/reformat_libyuv.c:906,1
    - Dst: assert
      Src: /src/libavif/src/reformat_libyuv.c:909,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/reformat_libyuv.c:910,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/reformat_libyuv.c:910,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/src/reformat_libyuv.c:914,1
    - Dst: Convert16To8Plane
      Src: /src/libavif/src/reformat_libyuv.c:918,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/reformat_libyuv.c:918,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/reformat_libyuv.c:919,1
    - Dst: avifImagePlane
      Src: /src/libavif/src/reformat_libyuv.c:920,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/src/reformat_libyuv.c:921,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/src/reformat_libyuv.c:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - image
    - image8
    - downshiftAlpha
    argTypes:
    - avifImage*
    - avifImage*
    - avifBool
    assertStmts:
    - condition: (!downshiftAlpha || image->alphaPlane)
      pos:
        line_end: 908
        line_start: 908
        source_file: /src/libavif/src/reformat_libyuv.c
    constantsTouched: []
    func_position:
      end: 927
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 927
    functionName: avifImageDownshiftTo8bpc
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - Convert16To8Plane
    - avifImageCopyNoAlloc
    - avifImagePlaneHeight
    - AVIF_CHECKRES
    - avifImageAllocatePlanes
    - assert
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImageSetDefaults
    - avifImagePlane
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageDownshiftTo8bpc(const avifImage * image, avifImage
      * image8, avifBool downshiftAlpha)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getLibYUVConstants
      Src: /src/libavif/src/reformat_libyuv.c:942,1
    - Dst: getLibYUVConversionFunction
      Src: /src/libavif/src/reformat_libyuv.c:950,1
    - Dst: LibyuvConversionFunction::yuvToRgbMatrixFilterHighBitDepth
      Src: /src/libavif/src/reformat_libyuv.c:967,1
    - Dst: LibyuvConversionFunction::yuvaToRgbMatrixFilterHighBitDepth
      Src: /src/libavif/src/reformat_libyuv.c:980,1
    - Dst: LibyuvConversionFunction::yuvToRgbMatrixHighBitDepth
      Src: /src/libavif/src/reformat_libyuv.c:997,1
    - Dst: LibyuvConversionFunction::yuvaToRgbMatrixHighBitDepth
      Src: /src/libavif/src/reformat_libyuv.c:1009,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/reformat_libyuv.c:1029,1
    - Dst: avifImageDownshiftTo8bpc
      Src: /src/libavif/src/reformat_libyuv.c:1029,1
    - Dst: LibyuvConversionFunction::yuv400ToRgbMatrix
      Src: /src/libavif/src/reformat_libyuv.c:1033,1
    - Dst: LibyuvConversionFunction::yuvToRgbMatrixFilter
      Src: /src/libavif/src/reformat_libyuv.c:1041,1
    - Dst: LibyuvConversionFunction::yuvaToRgbMatrixFilter
      Src: /src/libavif/src/reformat_libyuv.c:1054,1
    - Dst: LibyuvConversionFunction::yuvToRgbMatrix
      Src: /src/libavif/src/reformat_libyuv.c:1071,1
    - Dst: LibyuvConversionFunction::yuvaToRgbMatrix
      Src: /src/libavif/src/reformat_libyuv.c:1083,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/reformat_libyuv.c:1100,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 4
    argNames:
    - image
    - rgb
    - reformatAlpha
    - alphaReformattedWithLibYUV
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifBool
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 1105
    functionName: avifImageYUVToRGBLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - avifImageFreePlanes
    - LibyuvConversionFunction::yuvToRgbMatrixHighBitDepth
    - AVIF_CHECKRES
    - getLibYUVConversionFunction
    - LibyuvConversionFunction::yuv400ToRgbMatrix
    - getLibYUVConstants
    - LibyuvConversionFunction::yuvaToRgbMatrixFilterHighBitDepth
    - LibyuvConversionFunction::yuvToRgbMatrix
    - LibyuvConversionFunction::yuvaToRgbMatrixHighBitDepth
    - avifImageDownshiftTo8bpc
    - LibyuvConversionFunction::yuvToRgbMatrixFilter
    - LibyuvConversionFunction::yuvaToRgbMatrix
    - LibyuvConversionFunction::yuvaToRgbMatrixFilter
    - LibyuvConversionFunction::yuvToRgbMatrixFilterHighBitDepth
    linkageType: ''
    returnType: IGNORE_CFI_ICALL
    signature: IGNORE_CFI_ICALL avifImageYUVToRGBLibYUV(const avifImage * image, avifRGBImage
      * rgb, avifBool reformatAlpha, avifBool * alphaReformattedWithLibYUV)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARGBAttenuate
      Src: /src/libavif/src/reformat_libyuv.c:1126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1133
    functionName: avifRGBImagePremultiplyAlphaLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - ARGBAttenuate
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImagePremultiplyAlphaLibYUV(avifRGBImage * rgb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARGBUnattenuate
      Src: /src/libavif/src/reformat_libyuv.c:1151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1158
    functionName: avifRGBImageUnpremultiplyAlphaLibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - ARGBUnattenuate
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageUnpremultiplyAlphaLibYUV(avifRGBImage * rgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfFloatPlane
      Src: /src/libavif/src/reformat_libyuv.c:1168,1
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/src/reformat_libyuv.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1176
    functionName: avifRGBImageToF16LibYUV
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 0
    functionsReached:
    - avifRGBFormatChannelCount
    - HalfFloatPlane
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageToF16LibYUV(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1181
    functionName: avifLibYUVVersion
    functionSourceFile: /src/libavif/src/reformat_libyuv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int avifLibYUVVersion(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/properties.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - boxtype
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: avifIsKnownPropertyType
    functionSourceFile: /src/libavif/src/properties.c
    functionUses: 17
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifIsKnownPropertyType(const uint8_t boxtype[4])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/properties.c:50,1
    - Dst: memcmp
      Src: /src/libavif/src/properties.c:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: avifIsValidUUID
    functionSourceFile: /src/libavif/src/properties.c
    functionUses: 25
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifIsValidUUID(const uint8_t uuid[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifIO*::destroy
      Src: /src/libavif/src/io.c:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - io
    argTypes:
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: avifIODestroy
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached:
    - avifIO*::destroy
    linkageType: ''
    returnType: void
    signature: void avifIODestroy(avifIO * io)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: avifIOMemoryReaderRead
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifIOMemoryReaderRead(struct avifIO * io, uint32_t readFlags,
      uint64_t offset, size_t size, avifROData * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/io.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - struct avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: avifIOMemoryReaderDestroy
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifIOMemoryReaderDestroy(struct avifIO * io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/io.c:61,1
    - Dst: memset
      Src: /src/libavif/src/io.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: avifIOCreateMemoryReader
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 20
    functionsReached:
    - memset
    - avifAlloc
    linkageType: ''
    returnType: avifIO
    signature: avifIO * avifIOCreateMemoryReader(const uint8_t * data, size_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/io.c:111,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/io.c:111,1
    - Dst: fseek
      Src: /src/libavif/src/io.c:113,1
    - Dst: fread
      Src: /src/libavif/src/io.c:116,1
    - Dst: ferror
      Src: /src/libavif/src/io.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: avifIOFileReaderRead
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - AVIF_CHECKRES
    - fseek
    - fread
    - ferror
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifIOFileReaderRead(struct avifIO * io, uint32_t readFlags,
      uint64_t offset, size_t size, avifROData * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libavif/src/io.c:133,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/io.c:134,1
    - Dst: avifFree
      Src: /src/libavif/src/io.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - io
    argTypes:
    - struct avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: avifIOFileReaderDestroy
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifRWDataFree
    - fclose
    linkageType: ''
    returnType: void
    signature: void avifIOFileReaderDestroy(struct avifIO * io)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/src/io.c:140,1
    - Dst: fseek
      Src: /src/libavif/src/io.c:145,1
    - Dst: ftell
      Src: /src/libavif/src/io.c:146,1
    - Dst: fclose
      Src: /src/libavif/src/io.c:148,1
    - Dst: fseek
      Src: /src/libavif/src/io.c:151,1
    - Dst: avifAlloc
      Src: /src/libavif/src/io.c:153,1
    - Dst: fclose
      Src: /src/libavif/src/io.c:155,1
    - Dst: memset
      Src: /src/libavif/src/io.c:158,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/io.c:164,1
    - Dst: avifFree
      Src: /src/libavif/src/io.c:165,1
    - Dst: fclose
      Src: /src/libavif/src/io.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: avifIOCreateFileReader
    functionSourceFile: /src/libavif/src/io.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - fopen
    - avifFree
    - fseek
    - avifAlloc
    - fclose
    - memset
    - ftell
    linkageType: ''
    returnType: avifIO
    signature: avifIO * avifIOCreateFileReader(const char * filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floorf
      Src: /src/libavif/src/utils.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: avifRoundf
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 3
    functionsReached:
    - floorf
    linkageType: ''
    returnType: float
    signature: float avifRoundf(float v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: avifHTONS
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifHTONS(uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: avifNTOHS
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifNTOHS(uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avifCTOHS
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifCTOHS(uint16_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: avifHTONL
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifHTONL(uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: avifNTOHL
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifNTOHL(uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: avifCTOHL
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifCTOHL(uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: avifHTON64
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t avifHTON64(uint64_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: avifNTOH64
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t avifNTOH64(uint64_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/utils.c:99,1
    - Dst: memset
      Src: /src/libavif/src/utils.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - arrayStruct
    - elementSize
    - initialCapacity
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: avifArrayCreate
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 12
    functionsReached:
    - memset
    - avifAlloc
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifArrayCreate(void * arrayStruct, uint32_t elementSize,
      uint32_t initialCapacity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/utils.c:118,1
    - Dst: memset
      Src: /src/libavif/src/utils.c:123,1
    - Dst: memcpy
      Src: /src/libavif/src/utils.c:124,1
    - Dst: avifFree
      Src: /src/libavif/src/utils.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arrayStruct
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: avifArrayPush
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 17
    functionsReached:
    - memset
    - memcpy
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: void
    signature: void * avifArrayPush(void * arrayStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/utils.c:135,1
    - Dst: memset
      Src: /src/libavif/src/utils.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arrayStruct
    argTypes:
    - void*
    assertStmts:
    - condition: (arr->count > 0)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/libavif/src/utils.c
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: avifArrayPop
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 2
    functionsReached:
    - memset
    - assert
    linkageType: ''
    returnType: void
    signature: void avifArrayPop(void * arrayStruct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/utils.c:144,1
    - Dst: memset
      Src: /src/libavif/src/utils.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arrayStruct
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: avifArrayDestroy
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 14
    functionsReached:
    - avifFree
    - memset
    linkageType: ''
    returnType: void
    signature: void avifArrayDestroy(void * arrayStruct)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: calcGCD
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t calcGCD(int64_t a, int64_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcGCD
      Src: /src/libavif/src/utils.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - avifFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: avifFractionSimplify
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 2
    functionsReached:
    - calcGCD
    linkageType: ''
    returnType: void
    signature: void avifFractionSimplify(avifFraction * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: overflowsInt32
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool overflowsInt32(int64_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/utils.c:184,1
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/utils.c:185,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:193,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:193,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:193,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avifFraction*
    - avifFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: avifFractionCD
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached:
    - overflowsInt32
    - avifFractionSimplify
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFractionCD(avifFraction * a, avifFraction * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifFractionCD
      Src: /src/libavif/src/utils.c:206,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:211,1
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/utils.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - avifFraction
    - avifFraction
    - avifFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: avifFractionAdd
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 1
    functionsReached:
    - overflowsInt32
    - avifFractionSimplify
    - avifFractionCD
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFractionAdd(avifFraction a, avifFraction b, avifFraction
      * result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifFractionCD
      Src: /src/libavif/src/utils.c:223,1
    - Dst: overflowsInt32
      Src: /src/libavif/src/utils.c:228,1
    - Dst: avifFractionSimplify
      Src: /src/libavif/src/utils.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - avifFraction
    - avifFraction
    - avifFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: avifFractionSub
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 2
    functionsReached:
    - overflowsInt32
    - avifFractionSimplify
    - avifFractionCD
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFractionSub(avifFraction a, avifFraction b, avifFraction
      * result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/libavif/src/utils.c:240,1
    - Dst: floor
      Src: /src/libavif/src/utils.c:245,1
    - Dst: floor
      Src: /src/libavif/src/utils.c:251,1
    - Dst: assert
      Src: /src/libavif/src/utils.c:259,1
    - Dst: round
      Src: /src/libavif/src/utils.c:260,1
    - Dst: fabs
      Src: /src/libavif/src/utils.c:261,1
    - Dst: floor
      Src: /src/libavif/src/utils.c:265,1
    - Dst: assert
      Src: /src/libavif/src/utils.c:271,1
    - Dst: floor
      Src: /src/libavif/src/utils.c:273,1
    - Dst: round
      Src: /src/libavif/src/utils.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - v
    - maxNumerator
    - numerator
    - denominator
    argTypes:
    - double
    - uint32_t
    - uint32_t*
    - uint32_t*
    assertStmts:
    - condition: (numeratorDouble <= maxNumerator)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/libavif/src/utils.c
    - condition: (newD <= UINT32_MAX)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libavif/src/utils.c
    constantsTouched: []
    func_position:
      end: 281
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 281
    functionName: avifDoubleToUnsignedFractionImpl
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 0
    functionsReached:
    - isnan
    - assert
    - round
    - floor
    - fabs
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDoubleToUnsignedFractionImpl(double v, uint32_t maxNumerator,
      uint32_t * numerator, uint32_t * denominator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDoubleToUnsignedFractionImpl
      Src: /src/libavif/src/utils.c:286,1
    - Dst: fabs
      Src: /src/libavif/src/utils.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - v
    - fraction
    argTypes:
    - double
    - avifSignedFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: avifDoubleToSignedFraction
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 5
    functionsReached:
    - fabs
    - avifDoubleToUnsignedFractionImpl
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDoubleToSignedFraction(double v, avifSignedFraction *
      fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDoubleToUnsignedFractionImpl
      Src: /src/libavif/src/utils.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - fraction
    argTypes:
    - double
    - avifUnsignedFraction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: avifDoubleToUnsignedFraction
    functionSourceFile: /src/libavif/src/utils.c
    functionUses: 17
    functionsReached:
    - avifDoubleToUnsignedFractionImpl
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDoubleToUnsignedFraction(double v, avifUnsignedFraction
      * fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/mem.c:11,1
    - Dst: malloc
      Src: /src/libavif/src/mem.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (size != 0)
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/libavif/src/mem.c
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: avifAlloc
    functionSourceFile: /src/libavif/src/mem.c
    functionUses: 38
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: void
    signature: void * avifAlloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libavif/src/mem.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: avifFree
    functionSourceFile: /src/libavif/src/mem.c
    functionUses: 45
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void avifFree(void * p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:46,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fourcc
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: avifGetCodecType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifCodecType
    signature: avifCodecType avifGetCodecType(const uint8_t * fourcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/read.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - codecType
    argTypes:
    - avifCodecType
    assertStmts:
    - condition: (AVIF_FALSE)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libavif/src/read.c
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: avifGetConfigurationPropertyName
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char * avifGetConfigurationPropertyName(avifCodecType codecType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - properties
    - type
    argTypes:
    - avifPropertyArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: avifPropertyArrayFind
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifProperty
    signature: avifProperty * avifPropertyArrayFind(const avifPropertyArray * properties,
      const char * type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:312,1
    - Dst: memset
      Src: /src/libavif/src/read.c:316,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:317,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:318,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:319,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:320,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:321,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:322,1
    - Dst: avifSampleTableDestroy
      Src: /src/libavif/src/read.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: avifSampleTableCreate
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memset
    - avifAlloc
    - avifSampleTableDestroy
    - avifArrayCreate
    linkageType: ''
    returnType: avifSampleTable
    signature: avifSampleTable * avifSampleTableCreate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/src/read.c:333,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - array
    argTypes:
    - avifPropertyArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: avifPropertyArrayDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifPropertyArrayDestroy(avifPropertyArray * array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:341,1
    - Dst: avifPropertyArrayDestroy
      Src: /src/libavif/src/read.c:344,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:346,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:347,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:348,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:349,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:350,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sampleTable
    argTypes:
    - avifSampleTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: avifSampleTableDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifPropertyArrayDestroy
    linkageType: ''
    returnType: void
    signature: void avifSampleTableDestroy(avifSampleTable * sampleTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sampleTable
    - imageIndex
    argTypes:
    - avifSampleTable*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: avifSampleTableGetImageDelta
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifSampleTableGetImageDelta(const avifSampleTable * sampleTable,
      uint32_t imageIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sampleTable
    argTypes:
    - avifSampleTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: avifSampleTableGetCodecType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifGetCodecType
    linkageType: ''
    returnType: avifCodecType
    signature: avifCodecType avifSampleTableGetCodecType(const avifSampleTable * sampleTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - av1C
    argTypes:
    - avifCodecConfigurationBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: avifCodecConfigurationBoxGetDepth
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifCodecConfigurationBoxGetDepth(const avifCodecConfigurationBox
      * av1C)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - av1C
    - channelIndex
    argTypes:
    - avifCodecConfigurationBox*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: avifCodecConfigurationBoxGetSubsamplingType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t avifCodecConfigurationBoxGetSubsamplingType(const avifCodecConfigurationBox
      * av1C, uint8_t channelIndex)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - subsamplingType
    - subsamplingLocation
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 442
    functionName: avifSubsamplingLocationToChromaSamplePosition
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t avifSubsamplingLocationToChromaSamplePosition(uint8_t subsamplingType,
      uint8_t subsamplingLocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sampleTable
    - codecType
    argTypes:
    - avifSampleTable*
    - avifCodecType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: avifSampleTableGetProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifGetCodecType
    linkageType: ''
    returnType: avifPropertyArray
    signature: avifPropertyArray * avifSampleTableGetProperties(const avifSampleTable
      * sampleTable, avifCodecType codecType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:481,1
    - Dst: memset
      Src: /src/libavif/src/read.c:485,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:486,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: avifCodecDecodeInputCreate
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    - avifArrayCreate
    linkageType: ''
    returnType: avifCodecDecodeInput
    signature: avifCodecDecodeInput * avifCodecDecodeInputCreate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/src/read.c:498,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:501,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - decodeInput
    argTypes:
    - avifCodecDecodeInput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: avifCodecDecodeInputDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifCodecDecodeInputDestroy(avifCodecDecodeInput * decodeInput)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sampleToChunks
    - chunkIndex
    argTypes:
    - avifSampleTableSampleToChunkArray*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: avifGetSampleCountOfChunk
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifGetSampleCountOfChunk(const avifSampleTableSampleToChunkArray
      * sampleToChunks, uint32_t chunkIndex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifGetSampleCountOfChunk
      Src: /src/libavif/src/read.c:531,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:534,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:540,1
    - Dst: avifGetSampleCountOfChunk
      Src: /src/libavif/src/read.c:552,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:555,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:565,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:572,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:573,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:580,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:587,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 5
    argNames:
    - decodeInput
    - sampleTable
    - imageCountLimit
    - sizeHint
    - diag
    argTypes:
    - avifCodecDecodeInput*
    - avifSampleTable*
    - uint32_t
    - uint64_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 609
    functionName: avifCodecDecodeInputFillFromSampleTable
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifGetSampleCountOfChunk
    - avifDiagnosticsPrintf
    - avifArrayPush
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifCodecDecodeInputFillFromSampleTable(avifCodecDecodeInput
      * decodeInput,\n                                                          avifSampleTable
      * sampleTable,\n                                                          const
      uint32_t imageCountLimit,\n                                                          const
      uint64_t sizeHint,\n                                                          avifDiagnostics
      * diag)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:619,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:625,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:636,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:648,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:654,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:673,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:688,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:689,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:693,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:700,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:708,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:709,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:721,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:722,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 6
    argNames:
    - decodeInput
    - item
    - allowProgressive
    - imageCountLimit
    - sizeHint
    - diag
    argTypes:
    - avifCodecDecodeInput*
    - avifDecoderItem*
    - avifBool
    - uint32_t
    - uint64_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 730
    functionName: avifCodecDecodeInputFillFromDecoderItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifCodecDecodeInputFillFromDecoderItem(avifCodecDecodeInput
      * decodeInput,\n                                                          avifDecoderItem
      * item,\n                                                          avifBool
      allowProgressive,\n                                                          const
      uint32_t imageCountLimit,\n                                                          const
      uint64_t sizeHint,\n                                                          avifDiagnostics
      * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - VARNAME
    - ','
    - PTR
    - ','
    - SIZE
    - ','
    - DIAG
    - ','
    - CONTEXT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: BEGIN_STREAM
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_STREAM(VARNAME, PTR, SIZE, DIAG, CONTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - uniqueBoxFlags
    - whichFlag
    - parentBoxType
    - boxType
    - diagnostics
    argTypes:
    - uint32_t*
    - avifUniqueBoxFlag
    - char*
    - char*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 772
    functionName: uniqueBoxSeen
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifBool
    signature: "avifBool uniqueBoxSeen(uint32_t * uniqueBoxFlags,\n                              avifUniqueBoxFlag
      whichFlag,\n                              const char * parentBoxType,\n                              const
      char * boxType,\n                              avifDiagnostics * diagnostics)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:852,1
    - Dst: memset
      Src: /src/libavif/src/read.c:856,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:857,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:857,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:858,1
    - Dst: avifMetaDestroy
      Src: /src/libavif/src/read.c:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: avifMetaCreate
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memset
    - avifMetaDestroy
    - avifAlloc
    - avifArrayCreate
    linkageType: ''
    returnType: avifMeta
    signature: avifMeta * avifMetaCreate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayDestroy
      Src: /src/libavif/src/read.c:869,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:870,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/read.c:872,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:874,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:876,1
    - Dst: avifPropertyArrayDestroy
      Src: /src/libavif/src/read.c:877,1
    - Dst: avifRWDataFree
      Src: /src/libavif/src/read.c:878,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:879,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:881,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:883,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - meta
    argTypes:
    - avifMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 885
    functionName: avifMetaDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifArrayDestroy
    - avifPropertyArrayDestroy
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifMetaDestroy(avifMeta * meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - boxFourcc
    - itemID
    - diag
    argTypes:
    - char*
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 902
    functionName: avifCheckItemID
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCheckItemID(const char * boxFourcc, uint32_t itemID,
      avifDiagnostics * diag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:907,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:916,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:917,1
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:918,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:920,1
    - Dst: memset
      Src: /src/libavif/src/read.c:923,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:926,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:927,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:929,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:932,1
    - Dst: avifPropertyArrayDestroy
      Src: /src/libavif/src/read.c:933,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:934,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - meta
    - itemID
    - item
    argTypes:
    - avifMeta*
    - uint32_t
    - avifDecoderItem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 904
    functionDepth: 3
    functionLinenumber: 904
    functionLinenumberEnd: 942
    functionName: avifMetaFindOrCreateItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifFree
    - memset
    - avifArrayPop
    - avifAlloc
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - avifPropertyArrayDestroy
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifMetaFindOrCreateItem(avifMeta * meta, uint32_t itemID,
      avifDecoderItem ** item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:995,1
    - Dst: memset
      Src: /src/libavif/src/read.c:999,1
    - Dst: avifMetaCreate
      Src: /src/libavif/src/read.c:1000,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:1001,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:1002,1
    - Dst: avifDecoderDataDestroy
      Src: /src/libavif/src/read.c:1003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 1007
    functionName: avifDecoderDataCreate
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifAlloc
    - avifMetaCreate
    - avifDecoderDataDestroy
    - memset
    linkageType: ''
    returnType: avifDecoderData
    signature: avifDecoderData * avifDecoderDataCreate(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:1014,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1019,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1028,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1035
    functionName: avifDecoderDataResetCodec
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifCodecDestroy
    - avifImageFreePlanes
    linkageType: ''
    returnType: void
    signature: void avifDecoderDataResetCodec(avifDecoderData * data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:1039,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/read.c:1044,1
    - Dst: avifCodecDecodeInputCreate
      Src: /src/libavif/src/read.c:1048,1
    - Dst: avifCodecDecodeInputDestroy
      Src: /src/libavif/src/read.c:1059,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:1062,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:1064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - data
    - codecType
    - width
    - height
    - operatingPoint
    argTypes:
    - avifDecoderData*
    - avifCodecType
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1066
    functionName: avifDecoderDataCreateTile
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - avifArrayPop
    - avifArrayPush
    - avifCodecDecodeInputDestroy
    - avifCodecDecodeInputCreate
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifTile
    signature: avifTile * avifDecoderDataCreateTile(avifDecoderData * data, avifCodecType
      codecType, uint32_t width, uint32_t height, uint8_t operatingPoint)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:1070,1
    - Dst: avifMetaCreate
      Src: /src/libavif/src/read.c:1074,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1080
    functionName: avifDecoderDataCreateTrack
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayPop
    - avifMetaCreate
    - avifArrayPush
    linkageType: ''
    returnType: avifTrack
    signature: avifTrack * avifDecoderDataCreateTrack(avifDecoderData * data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecDecodeInputDestroy
      Src: /src/libavif/src/read.c:1087,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1093,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:1098,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1108,1
    - Dst: avifCodecDestroy
      Src: /src/libavif/src/read.c:1112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1115
    functionName: avifDecoderDataClearTiles
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifCodecDecodeInputDestroy
    - avifImageDestroy
    - avifCodecDestroy
    linkageType: ''
    returnType: void
    signature: void avifDecoderDataClearTiles(avifDecoderData * data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifMetaDestroy
      Src: /src/libavif/src/read.c:1120,1
    - Dst: avifSampleTableDestroy
      Src: /src/libavif/src/read.c:1125,1
    - Dst: avifMetaDestroy
      Src: /src/libavif/src/read.c:1128,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:1131,1
    - Dst: avifDecoderDataClearTiles
      Src: /src/libavif/src/read.c:1132,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:1133,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:1134,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:1135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1136
    functionName: avifDecoderDataDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifFree
    - avifSampleTableDestroy
    - avifDecoderDataClearTiles
    - avifArrayDestroy
    - avifMetaDestroy
    linkageType: ''
    returnType: void
    signature: void avifDecoderDataDestroy(avifDecoderData * data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/read.c:1152,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - item
    - sample
    - outExtent
    argTypes:
    - avifDecoderItem*
    - avifDecodeSample*
    - avifExtent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1227
    functionName: avifDecoderItemMaxExtent
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memset
    - AVIF_ASSERT_OR_RETURN
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderItemMaxExtent(const avifDecoderItem * item, const
      avifDecodeSample * sample, avifExtent * outExtent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - avifDecoderItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1236
    functionName: avifDecoderItemOperatingPoint
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifPropertyArrayFind
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t avifDecoderItemOperatingPoint(const avifDecoderItem * item)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1243,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1246,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:1250,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1263,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1265,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1283,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1293,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1296,1
    - Dst: avifCodecConfigurationBoxGetDepth
      Src: /src/libavif/src/read.c:1304,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1308,1
    - Dst: avifCodecConfigurationBoxGetSubsamplingType
      Src: /src/libavif/src/read.c:1318,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1319,1
    - Dst: avifSubsamplingLocationToChromaSamplePosition
      Src: /src/libavif/src/read.c:1332,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1335,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1366,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/src/read.c:1369,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/src/read.c:1371,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1382,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1394,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1396,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1398,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/src/read.c:1407,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 4
    argNames:
    - item
    - configPropName
    - diag
    - strictFlags
    argTypes:
    - avifDecoderItem*
    - char*
    - avifDiagnostics*
    - avifStrictFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1414
    functionName: avifDecoderItemValidateProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifPixelFormatToString
    - avifCropRectFromCleanApertureBox
    - avifCodecConfigurationBoxGetSubsamplingType
    - memcmp
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    - avifCodecConfigurationBoxGetDepth
    - avifSubsamplingLocationToChromaSamplePosition
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderItemValidateProperties(const avifDecoderItem
      * item,\n                                                    const char * configPropName,\n
      \                                                   avifDiagnostics * diag,\n
      \                                                   const avifStrictFlags strictFlags)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1426,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1435,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1448,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1456,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1461,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1480,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/read.c:1480,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1500,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1507,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1516,1
    - Dst: avifIO*::read
      Src: /src/libavif/src/read.c:1519,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1524,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:1534,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1537,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1538,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1539,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:1540,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1552,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 6
    argNames:
    - item
    - io
    - outData
    - offset
    - partialByteCount
    - diag
    argTypes:
    - avifDecoderItem*
    - avifIO*
    - avifROData*
    - size_t
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1560
    functionName: avifDecoderItemRead
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - memcpy
    - AVIF_ASSERT_OR_RETURN
    - avifIO*::read
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderItemRead(avifDecoderItem * item,\n                                      avifIO
      * io,\n                                      avifROData * outData,\n                                      size_t
      offset,\n                                      size_t partialByteCount,\n                                      avifDiagnostics
      * diag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:1567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - gridItem
    argTypes:
    - avifDecoderItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1573
    functionName: avifDecoderItemGetGridCodecType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifGetCodecType
    linkageType: ''
    returnType: avifCodecType
    signature: avifCodecType avifDecoderItemGetGridCodecType(const avifDecoderItem
      * gridItem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1587,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1588,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - dimgIdxToItemIdx
    - numExpectedTiles
    - gridItem
    argTypes:
    - uint32_t*
    - uint32_t
    - avifDecoderItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1596
    functionName: avifFillDimgIdxToItemIdxArray
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - AVIF_ASSERT_OR_RETURN
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifFillDimgIdxToItemIdxArray(uint32_t * dimgIdxToItemIdx,
      uint32_t numExpectedTiles, const avifDecoderItem * gridItem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1608,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:1615,1
    - Dst: isprint
      Src: /src/libavif/src/read.c:1619,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1625,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1639,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:1647,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:1648,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:1649,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1651,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:1654,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1655,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:1658,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - decoder
    - gridItem
    - dimgIdxToItemIdx
    - numTiles
    argTypes:
    - avifDecoder*
    - avifDecoderItem*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1671
    functionName: avifDecoderAdoptGridTileCodecType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    - isprint
    - avifArrayPush
    - avifGetConfigurationPropertyName
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifGetCodecType
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderAdoptGridTileCodecType(avifDecoder * decoder,\n
      \                                                   avifDecoderItem * gridItem,\n
      \                                                   const uint32_t * dimgIdxToItemIdx,\n
      \                                                   uint32_t numTiles)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:1680,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1681,1
    - Dst: avifFillDimgIdxToItemIdxArray
      Src: /src/libavif/src/read.c:1682,1
    - Dst: avifDecoderAdoptGridTileCodecType
      Src: /src/libavif/src/read.c:1684,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:1686,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - decoder
    - item
    - info
    argTypes:
    - avifDecoder*
    - avifDecoderItem*
    - avifTileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1675
    functionDepth: 3
    functionLinenumber: 1675
    functionLinenumberEnd: 1690
    functionName: avifDecoderAdoptGridTileCodecTypeIfNeeded
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifDecoderAdoptGridTileCodecType
    - AVIF_CHECKRES
    - avifAlloc
    - avifFillDimgIdxToItemIdxArray
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderAdoptGridTileCodecTypeIfNeeded(avifDecoder *
      decoder, avifDecoderItem * item, const avifTileInfo * info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1702,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:1705,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1706,1
    - Dst: avifDecoderDataCreateTile
      Src: /src/libavif/src/read.c:1708,1
    - Dst: avifDecoderItemOperatingPoint
      Src: /src/libavif/src/read.c:1708,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1709,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1710,1
    - Dst: avifCodecDecodeInputFillFromDecoderItem
      Src: /src/libavif/src/read.c:1710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - decoder
    - gridItem
    - itemCategory
    - dimgIdxToItemIdx
    - numTiles
    argTypes:
    - avifDecoder*
    - avifDecoderItem*
    - avifItemCategory
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1693
    functionDepth: 4
    functionLinenumber: 1693
    functionLinenumberEnd: 1727
    functionName: avifDecoderGenerateImageGridTiles
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDecoderDataCreateTile
    - AVIF_CHECKRES
    - avifCodecDecodeInputFillFromDecoderItem
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifDecoderItemOperatingPoint
    - avifGetCodecType
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderGenerateImageGridTiles(avifDecoder * decoder,\n
      \                                                   avifDecoderItem * gridItem,\n
      \                                                   avifItemCategory itemCategory,\n
      \                                                   const uint32_t * dimgIdxToItemIdx,\n
      \                                                   uint32_t numTiles)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1744,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1751,1
    - Dst: avifAreGridDimensionsValid
      Src: /src/libavif/src/read.c:1755,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:1771,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1774,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1786,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:1791,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:1797,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/read.c:1811,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1812,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 4
    argNames:
    - data
    - info
    - dstImage
    - cicpSet
    argTypes:
    - avifDecoderData*
    - avifTileInfo*
    - avifImage*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1730
    functionDepth: 2
    functionLinenumber: 1730
    functionLinenumberEnd: 1816
    functionName: avifDecoderDataAllocateImagePlanes
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifAreGridDimensionsValid
    - avifImageAllocatePlanes
    - avifDiagnosticsPrintf
    - AVIF_ASSERT_OR_RETURN
    - avifIsAlpha
    - avifImageFreePlanes
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderDataAllocateImagePlanes(const avifDecoderData
      * data, const avifTileInfo * info, avifImage * dstImage, avifBool * cicpSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1834,1
    - Dst: avifImageSetDefaults
      Src: /src/libavif/src/read.c:1843,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1845,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/src/read.c:1845,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:1846,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:1847,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:1850,1
    - Dst: avifImageSetDefaults
      Src: /src/libavif/src/read.c:1854,1
    - Dst: avifImageSetDefaults
      Src: /src/libavif/src/read.c:1856,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1871,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/src/read.c:1871,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:1872,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/src/read.c:1872,1
    - Dst: avifImageCopySamples
      Src: /src/libavif/src/read.c:1873,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:1873,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - data
    - info
    - dstImage
    - tile
    - tileIndex
    argTypes:
    - avifDecoderData*
    - avifTileInfo*
    - avifImage*
    - avifTile*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 1875
    functionName: avifDecoderDataCopyTileToImage
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifImageSetViewRect
    - avifImageCopySamples
    - AVIF_ASSERT_OR_RETURN
    - avifIsAlpha
    - avifImageSetDefaults
    - avifImageFreePlanes
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderDataCopyTileToImage(avifDecoderData * data,\n
      \                                                const avifTileInfo * info,\n
      \                                                avifImage * dstImage,\n                                                 const
      avifTile * tile,\n                                                 unsigned
      int tileIndex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:1902,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:1904,1
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:1910,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1917,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:1917,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1920,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/src/read.c:1920,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:1920,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:1921,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1923,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1926,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:1926,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:1926,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:1926,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:1927,1
    - Dst: strcmp
      Src: /src/libavif/src/read.c:1928,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:1930,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:1935,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/src/read.c:1935,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - decoder
    - meta
    - image
    - colorId
    argTypes:
    - avifDecoder*
    - avifMeta*
    - avifImage*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1880
    functionDepth: 3
    functionLinenumber: 1880
    functionLinenumberEnd: 1939
    functionName: avifDecoderFindMetadata
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataSet
    - avifGetExifTiffHeaderOffset
    - AVIF_CHECKRES
    - memcmp
    - avifDecoderItemRead
    - avifROStreamCurrent
    - BEGIN_STREAM
    - avifROStreamReadU32
    - strcmp
    - AVIF_CHECKERR
    - avifROStreamRemainingBytes
    - avifImageSetMetadataXMP
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderFindMetadata(avifDecoder * decoder, avifMeta
      * meta, avifImage * image, uint32_t colorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/src/read.c:1946,1
    - Dst: strcmp
      Src: /src/libavif/src/read.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - urn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1947
    functionName: isAlphaURN
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool isAlphaURN(const char * urn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:1954,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:1956,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:1956,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:1959,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:1959,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1961,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:1965,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:1965,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:1969,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:1969,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:1973,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/src/read.c:1973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - raw
    - rawLen
    - handlerType
    - diag
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t[]
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1975
    functionName: avifParseHandlerBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifROStreamReadString
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    - avifROStreamRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseHandlerBox(const uint8_t * raw, size_t rawLen, uint8_t
      handlerType[4], avifDiagnostics * diag)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:1979,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1983,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:1983,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:1985,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1991,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:1991,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1992,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:1992,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1993,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:1993,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1995,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:1995,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:1997,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:1997,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2003,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2010,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2010,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2013,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2013,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2018,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2018,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2021,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2021,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2023,1
    - Dst: avifCheckItemID
      Src: /src/libavif/src/read.c:2023,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2026,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:2026,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2029,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2034,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2034,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2036,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2040,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2040,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2044,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2053,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2053,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2055,1
    - Dst: avifROStreamReadUX8
      Src: /src/libavif/src/read.c:2055,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2057,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2057,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2065,1
    - Dst: avifROStreamReadUX8
      Src: /src/libavif/src/read.c:2065,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2070,1
    - Dst: avifROStreamReadUX8
      Src: /src/libavif/src/read.c:2070,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2072,1
    - Dst: avifROStreamReadUX8
      Src: /src/libavif/src/read.c:2072,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:2074,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2075,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2077,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2088,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2094,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 1977
    functionDepth: 4
    functionLinenumber: 1977
    functionLinenumberEnd: 2105
    functionName: avifParseItemLocationBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifROStreamReadBitsU8
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - avifArrayPush
    - avifROStreamReadBitsU32
    - avifMetaFindOrCreateItem
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifROStreamReadUX8
    - avifCheckItemID
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemLocationBox(avifMeta * meta, const uint8_t
      * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2114,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2117,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2117,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2119,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2123,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2123,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2124,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2124,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2125,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2125,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2132,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2132,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2133,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2133,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2139,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2142,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2142,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2143,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2143,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2146,1
    - Dst: avifDimensionsTooLarge
      Src: /src/libavif/src/read.c:2149,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2150,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:2153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 6
    argNames:
    - grid
    - raw
    - rawLen
    - imageSizeLimit
    - imageDimensionLimit
    - diag
    argTypes:
    - avifImageGrid*
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2157
    functionName: avifParseImageGridBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDimensionsTooLarge
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - avifROStreamRead
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseImageGridBox(avifImageGrid * grid,\n                                        const
      uint8_t * raw,\n                                        size_t rawLen,\n                                        uint32_t
      imageSizeLimit,\n                                        uint32_t imageDimensionLimit,\n
      \                                       avifDiagnostics * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2162,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2162,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2166,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2166,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2170,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2170,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2172,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2172,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2173,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2173,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2174,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2174,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2175,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2175,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2178,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2178,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2179,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2179,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2180,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2180,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2181,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2181,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2182,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2182,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2183,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2183,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2184,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2184,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2185,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2185,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2186,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2186,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2187,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - gainMap
    - s
    argTypes:
    - avifGainMap*
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2199
    functionName: avifParseGainMapMetadata
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadBitsU32
    - avifROStreamReadU32
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseGainMapMetadata(avifGainMap * gainMap, avifROStream
      * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2204,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2207,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2207,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2209,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2214,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2214,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2217,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2221,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2221,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2222,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2224,1
    - Dst: avifParseGainMapMetadata
      Src: /src/libavif/src/read.c:2224,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2227,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:2227,1
    - Dst: avifGainMapValidateMetadata
      Src: /src/libavif/src/read.c:2230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - gainMap
    - raw
    - rawLen
    - diag
    argTypes:
    - avifGainMap*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2202
    functionDepth: 2
    functionLinenumber: 2202
    functionLinenumberEnd: 2235
    functionName: avifParseToneMappedImageBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseGainMapMetadata
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - avifGainMapValidateMetadata
    - BEGIN_STREAM
    - avifROStreamRead
    - AVIF_CHECKERR
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseToneMappedImageBox(avifGainMap * gainMap, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2241,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2241,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2242,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2243,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:2243,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:2246,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2247,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2250,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2250,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2255,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2255,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2258,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2269,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:2269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - s
    - expression
    argTypes:
    - avifROStream*
    - avifSampleTransformExpression*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2238
    functionDepth: 2
    functionLinenumber: 2238
    functionLinenumberEnd: 2271
    functionName: avifParseSampleTransformTokens
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifArrayPush
    - AVIF_ASSERT_OR_RETURN
    - avifROStreamReadU32
    - avifROStreamRead
    - AVIF_CHECKERR
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseSampleTransformTokens(avifROStream * s, avifSampleTransformExpression
      * expression)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2280,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2283,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2283,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2284,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2284,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2285,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2285,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2286,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2287,1
    - Dst: avifParseSampleTransformTokens
      Src: /src/libavif/src/read.c:2289,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:2291,1
    - Dst: avifSampleTransformExpressionIsValid
      Src: /src/libavif/src/read.c:2294,1
    - Dst: avifArrayDestroy
      Src: /src/libavif/src/read.c:2295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - raw
    - rawLen
    - numInputImageItems
    - expression
    - diag
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - avifSampleTransformExpression*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2274
    functionDepth: 3
    functionLinenumber: 2274
    functionLinenumberEnd: 2299
    functionName: avifParseSampleTransformImageBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseSampleTransformTokens
    - avifROStreamReadBitsU8
    - avifArrayDestroy
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifSampleTransformExpressionIsValid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseSampleTransformImageBox(const uint8_t * raw,\n
      \                                                  size_t rawLen,\n                                                   uint32_t
      numInputImageItems,\n                                                   avifSampleTransformExpression
      * expression,\n                                                   avifDiagnostics
      * diag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2303,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2309,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:2310,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:2310,1
    - Dst: assert
      Src: /src/libavif/src/read.c:2314,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2316,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:2316,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:2316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - item
    argTypes:
    - avifDecoderItem*
    assertStmts:
    - condition: (AVIF_FALSE)
      pos:
        line_end: 2313
        line_start: 2313
        source_file: /src/libavif/src/read.c
    constantsTouched: []
    func_position:
      end: 2317
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2317
    functionName: avifDecoderItemCodecConfigOrFirstCellCodecConfig
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifPropertyArrayFind
    - assert
    - avifGetConfigurationPropertyName
    - avifGetCodecType
    linkageType: ''
    returnType: avifProperty
    signature: avifProperty * avifDecoderItemCodecConfigOrFirstCellCodecConfig(const
      avifDecoderItem * item)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2321,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2321,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2322,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2324,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2329,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2331,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2334,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2341,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2343,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2355,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2357,1
    - Dst: avifDecoderItemCodecConfigOrFirstCellCodecConfig
      Src: /src/libavif/src/read.c:2362,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2364,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2378,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2380,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2389,1
    - Dst: avifDecoderItemCodecConfigOrFirstCellCodecConfig
      Src: /src/libavif/src/read.c:2398,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2400,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2411,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2425,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:2425,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - satoItem
    - diag
    argTypes:
    - avifDecoderItem*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2319
    functionDepth: 2
    functionLinenumber: 2319
    functionLinenumberEnd: 2427
    functionName: avifDecoderSampleTransformItemValidateProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    - avifDecoderItemCodecConfigOrFirstCellCodecConfig
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderSampleTransformItemValidateProperties(const avifDecoderItem
      * satoItem, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2439,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2442,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:2442,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2443,1
    - Dst: avifParseImageGridBox
      Src: /src/libavif/src/read.c:2443,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2456,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2460,1
    - Dst: avifDecoderItemGetGridCodecType
      Src: /src/libavif/src/read.c:2462,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2463,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:2465,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:2466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - decoder
    - item
    - isItemInInput
    - grid
    - codecType
    argTypes:
    - avifDecoder*
    - avifDecoderItem*
    - avifBool
    - avifImageGrid*
    - avifCodecType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2433
    functionDepth: 3
    functionLinenumber: 2433
    functionLinenumberEnd: 2469
    functionName: avifDecoderItemReadAndParse
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDecoderItemGetGridCodecType
    - AVIF_CHECKRES
    - memcmp
    - avifDecoderItemRead
    - avifParseImageGridBox
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifGetCodecType
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderItemReadAndParse(const avifDecoder * decoder,\n
      \                                             avifDecoderItem * item,\n                                              avifBool
      isItemInInput,\n                                              avifImageGrid
      * grid,\n                                              avifCodecType * codecType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2473,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2474,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:2474,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2477,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2477,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2478,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2471
    functionDepth: 1
    functionLinenumber: 2471
    functionLinenumberEnd: 2480
    functionName: avifParseImageSpatialExtentsProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseImageSpatialExtentsProperty(avifProperty * prop,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2484,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2485,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:2485,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2487,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/src/read.c:2487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2489
    functionName: avifParseAuxiliaryTypeProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadString
    - avifROStreamReadAndEnforceVersion
    - BEGIN_STREAM
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseAuxiliaryTypeProperty(avifProperty * prop, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2493,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2500,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2500,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2501,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2501,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:2505,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:2506,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2508,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2512,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2513,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2513,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2514,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2514,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2515,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2515,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2517,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2517,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2520,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2520,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - prop
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2528
    functionName: avifParseColourInformationBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifROStreamOffset
    - avifROStreamReadU16
    - avifROStreamReadBitsU8
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamRead
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseColourInformationBox(avifProperty * prop, uint64_t
      rawOffset, const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2532,1
    - Dst: avifROStreamReadBitsU16
      Src: /src/libavif/src/read.c:2532,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2533,1
    - Dst: avifROStreamReadBitsU16
      Src: /src/libavif/src/read.c:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - clli
    argTypes:
    - avifROStream*
    - avifContentLightLevelInformationBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2530
    functionDepth: 1
    functionLinenumber: 2530
    functionLinenumberEnd: 2535
    functionName: avifParseContentLightLevelInformation
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamReadBitsU16
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseContentLightLevelInformation(avifROStream * s,
      avifContentLightLevelInformationBox * clli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2538,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2539,1
    - Dst: avifParseContentLightLevelInformation
      Src: /src/libavif/src/read.c:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2536
    functionDepth: 2
    functionLinenumber: 2536
    functionLinenumberEnd: 2541
    functionName: avifParseContentLightLevelInformationBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - BEGIN_STREAM
    - avifParseContentLightLevelInformation
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseContentLightLevelInformationBox(avifProperty *
      prop, const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2547,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2547,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2548,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2548,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2550,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2550,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2551,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2551,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2552,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2552,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2553,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2555
    functionName: avifSkipMasteringDisplayColourVolume
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamSkipBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSkipMasteringDisplayColourVolume(avifROStream * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2559,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2559,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2560,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2560,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2562,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2562,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2564,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2564,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2566,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2566,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2568,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2568,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2570,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2570,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2574,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2574,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2575,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2575,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2579,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2579,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2582,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2582,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2585,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2588
    functionName: avifSkipContentColourVolume
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamReadBitsU8
    - avifROStreamSkipBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSkipContentColourVolume(avifROStream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2592,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2592,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2593,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2593,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2594,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2590
    functionDepth: 1
    functionLinenumber: 2590
    functionLinenumberEnd: 2596
    functionName: avifSkipAmbientViewingEnvironment
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamSkipBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSkipAmbientViewingEnvironment(avifROStream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2600,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2600,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2601,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2601,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2602,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2602,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2603,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2603,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2604,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2604,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2605,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2598
    functionDepth: 1
    functionLinenumber: 2598
    functionLinenumberEnd: 2607
    functionName: avifSkipReferenceViewingEnvironment
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamSkipBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSkipReferenceViewingEnvironment(avifROStream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2611,1
    - Dst: avifROStreamSkipBits
      Src: /src/libavif/src/read.c:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2613
    functionName: avifSkipNominalDiffuseWhite
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifROStreamSkipBits
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSkipNominalDiffuseWhite(avifROStream * s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2617,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2617,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2619,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2619,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2620,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2620,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2621,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2621,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2622,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2622,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2623,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2623,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2625,1
    - Dst: avifParseContentLightLevelInformation
      Src: /src/libavif/src/read.c:2625,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2628,1
    - Dst: avifSkipMasteringDisplayColourVolume
      Src: /src/libavif/src/read.c:2628,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2631,1
    - Dst: avifSkipContentColourVolume
      Src: /src/libavif/src/read.c:2631,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2634,1
    - Dst: avifSkipAmbientViewingEnvironment
      Src: /src/libavif/src/read.c:2634,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2637,1
    - Dst: avifSkipReferenceViewingEnvironment
      Src: /src/libavif/src/read.c:2637,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2640,1
    - Dst: avifSkipNominalDiffuseWhite
      Src: /src/libavif/src/read.c:2640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - s
    - hasClli
    - clli
    argTypes:
    - avifROStream*
    - uint32_t*
    - avifContentLightLevelInformationBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2615
    functionDepth: 2
    functionLinenumber: 2615
    functionLinenumberEnd: 2643
    functionName: avifParseMiniHDRProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseContentLightLevelInformation
    - AVIF_CHECKRES
    - avifSkipReferenceViewingEnvironment
    - avifROStreamReadBitsU32
    - avifSkipNominalDiffuseWhite
    - AVIF_CHECKERR
    - avifSkipContentColourVolume
    - avifSkipMasteringDisplayColourVolume
    - avifSkipAmbientViewingEnvironment
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseMiniHDRProperties(avifROStream * s, uint32_t *
      hasClli, avifContentLightLevelInformationBox * clli)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2653,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2653,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2655,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2658,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:2658,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2660,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2664,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2664,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2665,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2665,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2666,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2666,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2667,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2667,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2668,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2668,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2669,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2669,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2670,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2670,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2671,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2671,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2672,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2672,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2681,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:2681,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - s
    - config
    - configPropName
    - diag
    argTypes:
    - avifROStream*
    - avifCodecConfigurationBox*
    - char*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2648
    functionDepth: 1
    functionLinenumber: 2648
    functionLinenumberEnd: 2696
    functionName: avifParseCodecConfiguration
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadBitsU8
    - avifDiagnosticsPrintf
    - avifROStreamReadBitsU32
    - AVIF_CHECK
    - avifROStreamSkip
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseCodecConfiguration(avifROStream * s, avifCodecConfigurationBox
      * config, const char * configPropName, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libavif/src/read.c:2705,1
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2706,1
    - Dst: avifParseCodecConfiguration
      Src: /src/libavif/src/read.c:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - prop
    - raw
    - rawLen
    - configPropName
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - char*
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2698
    functionDepth: 2
    functionLinenumber: 2698
    functionLinenumberEnd: 2708
    functionName: avifParseCodecConfigurationBoxProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - snprintf
    - BEGIN_STREAM
    - avifParseCodecConfiguration
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifParseCodecConfigurationBoxProperty(avifProperty * prop,\n
      \                                                      const uint8_t * raw,\n
      \                                                      size_t rawLen,\n                                                       const
      char * configPropName,\n                                                       avifDiagnostics
      * diag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2712,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2715,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2715,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2716,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2718
    functionName: avifParsePixelAspectRatioBoxProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParsePixelAspectRatioBoxProperty(avifProperty * prop,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2722,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2725,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2725,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2726,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2726,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2727,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2727,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2728,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2728,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2729,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2729,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2730,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2730,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2731,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2731,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2732,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2720
    functionDepth: 1
    functionLinenumber: 2720
    functionLinenumberEnd: 2734
    functionName: avifParseCleanApertureBoxProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseCleanApertureBoxProperty(avifProperty * prop, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2738,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2742,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2742,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2744,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2747,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2736
    functionDepth: 1
    functionLinenumber: 2736
    functionLinenumberEnd: 2749
    functionName: avifParseImageRotationProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadBitsU8
    - BEGIN_STREAM
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseImageRotationProperty(avifProperty * prop, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2753,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2757,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2757,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2759,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2762,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2764
    functionName: avifParseImageMirrorProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadBitsU8
    - BEGIN_STREAM
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseImageMirrorProperty(avifProperty * prop, const uint8_t
      * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2768,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2770,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:2770,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2773,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2773,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2775,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2779,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2779,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2781,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2785,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2789,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2800,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2800,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2801,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2801,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2802,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2802,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2803,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2803,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2805,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2805,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2808,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2808,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2810,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:2810,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2819,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2823,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2832,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2837,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2844,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2852,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/src/read.c:2852,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2858
    functionName: avifParsePixelInformationProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifROStreamReadString
    - avifROStreamReadBitsU8
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - avifROStreamRead
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParsePixelInformationProperty(avifProperty * prop, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2862,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2865,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2865,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2871
    functionName: avifParseOperatingPointSelectorProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseOperatingPointSelectorProperty(avifProperty * prop,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2875,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2878,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2878,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2884
    functionName: avifParseLayerSelectorProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadU16
    - BEGIN_STREAM
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseLayerSelectorProperty(avifProperty * prop, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2888,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2893,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:2893,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:2895,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2901,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2901,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:2904,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:2904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - prop
    - raw
    - rawLen
    - diag
    argTypes:
    - avifProperty*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2886
    functionDepth: 1
    functionLinenumber: 2886
    functionLinenumberEnd: 2911
    functionName: avifParseAV1LayeredImageIndexingProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - avifROStreamReadU32
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseAV1LayeredImageIndexingProperty(avifProperty * prop,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2920,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:2922,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2924,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:2924,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:2926,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2927,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:2928,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2930,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2931,1
    - Dst: avifParseImageSpatialExtentsProperty
      Src: /src/libavif/src/read.c:2931,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2931,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2933,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2933,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2934,1
    - Dst: avifParseAuxiliaryTypeProperty
      Src: /src/libavif/src/read.c:2934,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2934,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2935,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2936,1
    - Dst: avifParseColourInformationBox
      Src: /src/libavif/src/read.c:2936,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:2936,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2936,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2938,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2939,1
    - Dst: avifParseCodecConfigurationBoxProperty
      Src: /src/libavif/src/read.c:2939,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2939,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2942,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2943,1
    - Dst: avifParseCodecConfigurationBoxProperty
      Src: /src/libavif/src/read.c:2943,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2943,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2946,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2947,1
    - Dst: avifParsePixelAspectRatioBoxProperty
      Src: /src/libavif/src/read.c:2947,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2947,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2949,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2950,1
    - Dst: avifParseCleanApertureBoxProperty
      Src: /src/libavif/src/read.c:2950,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2950,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2952,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2953,1
    - Dst: avifParseImageRotationProperty
      Src: /src/libavif/src/read.c:2953,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2953,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2954,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2955,1
    - Dst: avifParseImageMirrorProperty
      Src: /src/libavif/src/read.c:2955,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2955,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2956,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2957,1
    - Dst: avifParsePixelInformationProperty
      Src: /src/libavif/src/read.c:2957,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2957,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2958,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2959,1
    - Dst: avifParseOperatingPointSelectorProperty
      Src: /src/libavif/src/read.c:2959,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2959,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2961,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2962,1
    - Dst: avifParseLayerSelectorProperty
      Src: /src/libavif/src/read.c:2962,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2962,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2963,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2964,1
    - Dst: avifParseAV1LayeredImageIndexingProperty
      Src: /src/libavif/src/read.c:2964,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2964,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:2966,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2967,1
    - Dst: avifParseContentLightLevelInformationBox
      Src: /src/libavif/src/read.c:2967,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2967,1
    - Dst: memset
      Src: /src/libavif/src/read.c:2970,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:2971,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:2972,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:2972,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:2972,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2975,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:2975,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - properties
    - rawOffset
    - raw
    - rawLen
    - isTrack
    - diag
    argTypes:
    - avifPropertyArray*
    - uint64_t
    - uint8_t*
    - size_t
    - avifBool
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2913
    functionDepth: 3
    functionLinenumber: 2913
    functionLinenumberEnd: 2978
    functionName: avifParseItemPropertyContainerBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseLayerSelectorProperty
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - avifParseOperatingPointSelectorProperty
    - avifParseCleanApertureBoxProperty
    - BEGIN_STREAM
    - avifParsePixelAspectRatioBoxProperty
    - avifParseColourInformationBox
    - avifArrayPush
    - AVIF_CHECKERR
    - memset
    - avifParseAV1LayeredImageIndexingProperty
    - memcmp
    - avifParseImageMirrorProperty
    - memcpy
    - avifParseImageSpatialExtentsProperty
    - avifParsePixelInformationProperty
    - avifParseImageRotationProperty
    - avifParseCodecConfigurationBoxProperty
    - avifROStreamSkip
    - avifRWDataSet
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifParseContentLightLevelInformationBox
    - avifROStreamCurrent
    - avifParseAuxiliaryTypeProperty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseItemPropertyContainerBox(avifPropertyArray * properties,\n
      \                                                   uint64_t rawOffset,\n                                                    const
      uint8_t * raw,\n                                                    size_t rawLen,\n
      \                                                   avifBool isTrack,\n                                                    avifDiagnostics
      * diag)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:2985,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2989,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:2989,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:2994,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:2994,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3004,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3004,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3007,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3007,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3009,1
    - Dst: avifCheckItemID
      Src: /src/libavif/src/read.c:3009,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3011,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3017,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:3017,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3019,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3025,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:3025,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3028,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:3028,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3030,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:3030,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3037,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3045,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3072,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3073,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3104,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3105,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3115,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3116,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3135,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3136,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:3138,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:3139,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3140,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:3141,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 5
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    - outVersionAndFlags
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 2980
    functionDepth: 4
    functionLinenumber: 2980
    functionLinenumberEnd: 3146
    functionName: avifParseItemPropertyAssociation
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataSet
    - AVIF_CHECKRES
    - memcmp
    - avifROStreamReadU16
    - avifROStreamReadBitsU8
    - avifDiagnosticsPrintf
    - avifArrayPush
    - avifROStreamReadBitsU32
    - memcpy
    - avifMetaFindOrCreateItem
    - BEGIN_STREAM
    - avifROStreamReadU32
    - avifROStreamRead
    - AVIF_CHECKERR
    - avifCheckItemID
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemPropertyAssociation(avifMeta * meta, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag, uint32_t * outVersionAndFlags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3152,1
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3156,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3159,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3159,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3163,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3163,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3166,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3169
    functionName: avifParsePrimaryItemBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParsePrimaryItemBox(avifMeta * meta, const uint8_t * raw,
      size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3175,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3179,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:3183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3171
    functionDepth: 3
    functionLinenumber: 3171
    functionLinenumberEnd: 3187
    functionName: avifParseItemDataBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataSet
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseItemDataBox(avifMeta * meta, const uint8_t * raw,
      size_t rawLen, avifDiagnostics * diag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3191,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3194,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3194,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3195,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3196,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3201,1
    - Dst: avifParseItemPropertyContainerBox
      Src: /src/libavif/src/read.c:3201,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3202,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3203,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3207,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3207,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3213,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3215,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3215,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3217,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3219,1
    - Dst: avifParseItemPropertyAssociation
      Src: /src/libavif/src/read.c:3219,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3219,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3225,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3230,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3237,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3241,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - meta
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3189
    functionDepth: 5
    functionLinenumber: 3189
    functionLinenumberEnd: 3244
    functionName: avifParseItemPropertiesBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamOffset
    - avifDiagnosticsPrintf
    - avifParseItemPropertyAssociation
    - avifROStreamCurrent
    - avifParseItemPropertyContainerBox
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemPropertiesBox(avifMeta * meta, uint64_t rawOffset,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3249,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3253,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3253,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3256,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3266,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3266,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:3269,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3270,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3270,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3272,1
    - Dst: avifCheckItemID
      Src: /src/libavif/src/read.c:3272,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3274,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3274,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3276,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:3276,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3277,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/src/read.c:3277,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3279,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3280,1
    - Dst: avifROStreamReadString
      Src: /src/libavif/src/read.c:3280,1
    - Dst: memset
      Src: /src/libavif/src/read.c:3286,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3290,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:3290,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:3292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3246
    functionDepth: 4
    functionLinenumber: 3246
    functionLinenumberEnd: 3295
    functionName: avifParseItemInfoEntry
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memset
    - AVIF_CHECKRES
    - avifROStreamReadString
    - memcmp
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - AVIF_ASSERT_OR_RETURN
    - avifMetaFindOrCreateItem
    - memcpy
    - BEGIN_STREAM
    - avifROStreamReadU32
    - avifROStreamRead
    - AVIF_CHECKERR
    - avifCheckItemID
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemInfoEntry(avifMeta * meta, const uint8_t *
      raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3299,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3302,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3302,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3306,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3306,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3309,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3309,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3311,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3317,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3317,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3319,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3320,1
    - Dst: avifParseItemInfoEntry
      Src: /src/libavif/src/read.c:3320,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3320,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3323,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3327,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3297
    functionDepth: 5
    functionLinenumber: 3297
    functionLinenumberEnd: 3331
    functionName: avifParseItemInfoBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - avifROStreamCurrent
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifParseItemInfoEntry
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemInfoBox(avifMeta * meta, const uint8_t * raw,
      size_t rawLen, avifDiagnostics * diag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3335,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3338,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3338,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3344,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3346,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3346,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3351,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3351,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3355,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3355,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3358,1
    - Dst: avifCheckItemID
      Src: /src/libavif/src/read.c:3358,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3361,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:3361,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3362,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3366,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3373,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3373,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3379,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/read.c:3379,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3383,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3383,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3385,1
    - Dst: avifCheckItemID
      Src: /src/libavif/src/read.c:3385,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3388,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3390,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3392,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3394,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3397,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:3397,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3402,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3404,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3333
    functionDepth: 4
    functionLinenumber: 3333
    functionLinenumberEnd: 3414
    functionName: avifParseItemReferenceBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - avifMetaFindOrCreateItem
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifCheckItemID
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseItemReferenceBox(avifMeta * meta, const uint8_t
      * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3418,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3420,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3422,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3422,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3428,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3428,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3430,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3431,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3432,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:3432,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:3434,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3435,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3435,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3437,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3437,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3439,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3440,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3441,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - meta
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3416
    functionDepth: 2
    functionLinenumber: 3416
    functionLinenumberEnd: 3446
    functionName: avifParseGroupsListBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifROStreamHasBytesLeft
    - avifROStreamReadBoxHeader
    - avifArrayPush
    - memcpy
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseGroupsListBox(avifMeta * meta, const uint8_t *
      raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3450,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3453,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3453,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3459,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3461,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3461,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3464,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3466,1
    - Dst: avifParseHandlerBox
      Src: /src/libavif/src/read.c:3466,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3466,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3469,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3470,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3476,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3479,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3480,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3482,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3483,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3483,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3484,1
    - Dst: avifParseItemLocationBox
      Src: /src/libavif/src/read.c:3484,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3484,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3485,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3486,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3486,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3487,1
    - Dst: avifParsePrimaryItemBox
      Src: /src/libavif/src/read.c:3487,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3487,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3488,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3489,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3489,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3490,1
    - Dst: avifParseItemDataBox
      Src: /src/libavif/src/read.c:3490,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3490,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3491,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3492,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3492,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3493,1
    - Dst: avifParseItemPropertiesBox
      Src: /src/libavif/src/read.c:3493,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3493,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3493,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3494,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3495,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3495,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3496,1
    - Dst: avifParseItemInfoBox
      Src: /src/libavif/src/read.c:3496,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3496,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3497,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3498,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3498,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3499,1
    - Dst: avifParseItemReferenceBox
      Src: /src/libavif/src/read.c:3499,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3499,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3500,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3501,1
    - Dst: uniqueBoxSeen
      Src: /src/libavif/src/read.c:3501,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3502,1
    - Dst: avifParseGroupsListBox
      Src: /src/libavif/src/read.c:3502,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3502,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3505,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3505,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - meta
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifMeta*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3513
      start: 3448
    functionDepth: 6
    functionLinenumber: 3448
    functionLinenumberEnd: 3513
    functionName: avifParseMetaBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseItemPropertiesBox
    - avifROStreamReadBoxHeader
    - avifROStreamOffset
    - BEGIN_STREAM
    - avifParseItemDataBox
    - avifParseGroupsListBox
    - uniqueBoxSeen
    - AVIF_CHECKERR
    - avifParsePrimaryItemBox
    - memcmp
    - avifParseHandlerBox
    - avifParseItemInfoBox
    - avifROStreamSkip
    - avifROStreamReadAndEnforceVersion
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifParseItemReferenceBox
    - avifDiagnosticsPrintf
    - avifParseItemLocationBox
    - avifROStreamCurrent
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseMetaBox(avifMeta * meta, uint64_t rawOffset, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3517,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3520,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3520,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3525,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3525,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3526,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3526,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3527,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3527,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3528,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3528,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3529,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3529,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3532,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3532,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3533,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3533,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3534,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3534,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3535,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3535,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3536,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3536,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3540,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3553,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3553,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3556,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3556,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3557,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 4
    argNames:
    - track
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3564
      start: 3515
    functionDepth: 1
    functionLinenumber: 3515
    functionLinenumberEnd: 3564
    functionName: avifParseTrackHeaderBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadU32
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU64
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseTrackHeaderBox(avifTrack * track, const uint8_t *
      raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3568,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3571,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3571,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3576,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3576,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3577,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3577,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3578,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3578,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3579,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3579,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3582,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3582,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3583,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3583,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3584,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3584,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3585,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3585,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - track
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3566
    functionDepth: 1
    functionLinenumber: 3566
    functionLinenumberEnd: 3595
    functionName: avifParseMediaHeaderBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadU32
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU64
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseMediaHeaderBox(avifTrack * track, const uint8_t *
      raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3599,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3601,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3601,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3604,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3604,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3608,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3608,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3611,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3611,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3615,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - sampleTable
    - largeOffsets
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - avifBool
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3620
      start: 3597
    functionDepth: 2
    functionLinenumber: 3597
    functionLinenumberEnd: 3620
    functionName: avifParseChunkOffsetBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifArrayPush
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifROStreamReadU64
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseChunkOffsetBox(avifSampleTable * sampleTable, avifBool
      largeOffsets, const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3624,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3626,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3626,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3629,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3629,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3632,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3633,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3634,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3634,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3635,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3635,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3636,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3636,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3641,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - sampleTable
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3622
    functionDepth: 2
    functionLinenumber: 3622
    functionLinenumberEnd: 3653
    functionName: avifParseSampleToChunkBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifDiagnosticsPrintf
    - avifArrayPush
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseSampleToChunkBox(avifSampleTable * sampleTable,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3657,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3659,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3659,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3662,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3662,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3663,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3663,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3669,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3670,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3671,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sampleTable
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3655
    functionDepth: 2
    functionLinenumber: 3655
    functionLinenumberEnd: 3675
    functionName: avifParseSampleSizeBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifArrayPush
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseSampleSizeBox(avifSampleTable * sampleTable, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3679,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3681,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3681,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3684,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3684,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3688,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3688,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3689,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - sampleTable
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3677
    functionDepth: 2
    functionLinenumber: 3677
    functionLinenumberEnd: 3694
    functionName: avifParseSyncSampleBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifArrayPush
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseSyncSampleBox(avifSampleTable * sampleTable, const
      uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3698,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3700,1
    - Dst: avifROStreamReadAndEnforceVersion
      Src: /src/libavif/src/read.c:3700,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3703,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3703,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3706,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3707,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3708,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3708,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3709,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - sampleTable
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3696
    functionDepth: 2
    functionLinenumber: 3696
    functionLinenumberEnd: 3712
    functionName: avifParseTimeToSampleBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamReadAndEnforceVersion
    - avifArrayPush
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseTimeToSampleBox(avifSampleTable * sampleTable,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3720,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3723,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3723,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3728,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3733,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3733,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3737,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3737,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:3739,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3740,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:3741,1
    - Dst: avifArrayPop
      Src: /src/libavif/src/read.c:3742,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:3745,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:3747,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3749,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3752,1
    - Dst: avifParseItemPropertyContainerBox
      Src: /src/libavif/src/read.c:3752,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3753,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3754,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3760,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - sampleTable
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifSampleTable*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3714
    functionDepth: 4
    functionLinenumber: 3714
    functionLinenumberEnd: 3763
    functionName: avifParseSampleDescriptionBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifGetCodecType
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - avifArrayPop
    - avifROStreamOffset
    - avifDiagnosticsPrintf
    - avifArrayPush
    - memcpy
    - avifROStreamCurrent
    - avifParseItemPropertyContainerBox
    - BEGIN_STREAM
    - avifROStreamReadU32
    - AVIF_CHECKERR
    - avifROStreamSkip
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseSampleDescriptionBox(avifSampleTable * sampleTable,\n
      \                                               uint64_t rawOffset,\n                                                const
      uint8_t * raw,\n                                                size_t rawLen,\n
      \                                               avifDiagnostics * diag)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3769,1
    - Dst: avifSampleTableCreate
      Src: /src/libavif/src/read.c:3772,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3773,1
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3775,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3777,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3779,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3779,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3781,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3782,1
    - Dst: avifParseChunkOffsetBox
      Src: /src/libavif/src/read.c:3782,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3782,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3783,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3784,1
    - Dst: avifParseChunkOffsetBox
      Src: /src/libavif/src/read.c:3784,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3784,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3785,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3786,1
    - Dst: avifParseSampleToChunkBox
      Src: /src/libavif/src/read.c:3786,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3786,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3787,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3788,1
    - Dst: avifParseSampleSizeBox
      Src: /src/libavif/src/read.c:3788,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3788,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3789,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3790,1
    - Dst: avifParseSyncSampleBox
      Src: /src/libavif/src/read.c:3790,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3790,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3791,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3792,1
    - Dst: avifParseTimeToSampleBox
      Src: /src/libavif/src/read.c:3792,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3792,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3793,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3794,1
    - Dst: avifParseSampleDescriptionBox
      Src: /src/libavif/src/read.c:3794,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3795,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3796,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3801,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - track
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3765
    functionDepth: 5
    functionLinenumber: 3765
    functionLinenumberEnd: 3804
    functionName: avifParseSampleTableBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseChunkOffsetBox
    - avifParseSampleToChunkBox
    - avifSampleTableCreate
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifParseSyncSampleBox
    - avifROStreamOffset
    - avifDiagnosticsPrintf
    - avifParseSampleSizeBox
    - avifROStreamCurrent
    - BEGIN_STREAM
    - avifParseSampleDescriptionBox
    - AVIF_CHECKERR
    - avifParseTimeToSampleBox
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseSampleTableBox(avifTrack * track, uint64_t rawOffset,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3808,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3810,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3812,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3812,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3814,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3815,1
    - Dst: avifParseSampleTableBox
      Src: /src/libavif/src/read.c:3815,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3815,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3815,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3818,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - track
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3806
    functionDepth: 6
    functionLinenumber: 3806
    functionLinenumberEnd: 3821
    functionName: avifParseMediaInformationBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamOffset
    - avifParseSampleTableBox
    - avifROStreamCurrent
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseMediaInformationBox(avifTrack * track, uint64_t
      rawOffset, const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3825,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3827,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3829,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3829,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3831,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3832,1
    - Dst: avifParseMediaHeaderBox
      Src: /src/libavif/src/read.c:3832,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3832,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3833,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3834,1
    - Dst: avifParseMediaInformationBox
      Src: /src/libavif/src/read.c:3835,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3835,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3835,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3836,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3837,1
    - Dst: avifParseHandlerBox
      Src: /src/libavif/src/read.c:3837,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3837,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3841,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - track
    - rawOffset
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint64_t
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3823
    functionDepth: 7
    functionLinenumber: 3823
    functionLinenumberEnd: 3844
    functionName: avifParseMediaBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamOffset
    - avifParseHandlerBox
    - avifParseMediaHeaderBox
    - avifROStreamCurrent
    - avifParseMediaInformationBox
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseMediaBox(avifTrack * track, uint64_t rawOffset,
      const uint8_t * raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3848,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3850,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3852,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3852,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3854,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3856,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3856,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3857,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3857,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3859,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3861,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3861,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3862,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3862,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3865,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - track
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3846
    functionDepth: 1
    functionLinenumber: 3846
    functionLinenumberEnd: 3869
    functionName: avifTrackReferenceBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - memcmp
    - avifROStreamReadBoxHeader
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU32
    - avifROStreamSkip
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifTrackReferenceBox(avifTrack * track, const uint8_t * raw,
      size_t rawLen, avifDiagnostics * diag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3873,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3877,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/read.c:3877,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3886,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3886,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3888,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3893,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/read.c:3893,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3896,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/read.c:3896,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3900,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - track
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3871
    functionDepth: 1
    functionLinenumber: 3871
    functionLinenumberEnd: 3908
    functionName: avifParseEditListBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadU32
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamReadU64
    - avifROStreamReadVersionAndFlags
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseEditListBox(avifTrack * track, const uint8_t * raw,
      size_t rawLen, avifDiagnostics * diag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3912,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3915,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3917,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3917,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3919,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3921,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3924,1
    - Dst: avifParseEditListBox
      Src: /src/libavif/src/read.c:3924,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3924,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:3927,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3927,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - track
    - raw
    - rawLen
    - diag
    argTypes:
    - avifTrack*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3910
    functionDepth: 2
    functionLinenumber: 3910
    functionLinenumberEnd: 3934
    functionName: avifParseEditBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifROStreamHasBytesLeft
    - avifParseEditListBox
    - memcmp
    - avifROStreamReadBoxHeader
    - avifDiagnosticsPrintf
    - avifROStreamCurrent
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamSkip
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseEditBox(avifTrack * track, const uint8_t * raw, size_t
      rawLen, avifDiagnostics * diag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:3938,1
    - Dst: avifDecoderDataCreateTrack
      Src: /src/libavif/src/read.c:3940,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3941,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:3945,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3947,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:3947,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3949,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3951,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3954,1
    - Dst: avifParseTrackHeaderBox
      Src: /src/libavif/src/read.c:3954,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3954,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3956,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3957,1
    - Dst: avifParseMetaBox
      Src: /src/libavif/src/read.c:3958,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3958,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3958,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3959,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:3960,1
    - Dst: avifParseMediaBox
      Src: /src/libavif/src/read.c:3960,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:3960,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3960,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3961,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3962,1
    - Dst: avifTrackReferenceBox
      Src: /src/libavif/src/read.c:3962,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3962,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:3963,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3965,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3968,1
    - Dst: avifParseEditBox
      Src: /src/libavif/src/read.c:3968,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:3968,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:3972,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:3972,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3975,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:3991,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:3995,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - data
    - rawOffset
    - raw
    - rawLen
    argTypes:
    - avifDecoderData*
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3936
    functionDepth: 8
    functionLinenumber: 3936
    functionLinenumberEnd: 4014
    functionName: avifParseTrackBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifParseMediaBox
    - avifParseTrackHeaderBox
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamOffset
    - avifDiagnosticsPrintf
    - avifParseEditBox
    - avifROStreamCurrent
    - avifParseMetaBox
    - AVIF_ASSERT_OR_RETURN
    - BEGIN_STREAM
    - avifTrackReferenceBox
    - AVIF_CHECKERR
    - avifDecoderDataCreateTrack
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParseTrackBox(avifDecoderData * data, uint64_t rawOffset,
      const uint8_t * raw, size_t rawLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:4023,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:4026,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4028,1
    - Dst: avifROStreamReadBoxHeader
      Src: /src/libavif/src/read.c:4028,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4030,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4031,1
    - Dst: avifParseTrackBox
      Src: /src/libavif/src/read.c:4031,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4031,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:4031,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4035,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4035,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4036,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:4038,1
    - Dst: avifDimensionsTooLarge
      Src: /src/libavif/src/read.c:4041,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:4042,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4052,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4052,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:4055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - data
    - rawOffset
    - raw
    - rawLen
    - imageSizeLimit
    - imageDimensionLimit
    argTypes:
    - avifDecoderData*
    - uint64_t
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4016
    functionDepth: 9
    functionLinenumber: 4016
    functionLinenumberEnd: 4059
    functionName: avifParseMovieBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDimensionsTooLarge
    - avifROStreamHasBytesLeft
    - AVIF_CHECKRES
    - avifROStreamReadBoxHeader
    - memcmp
    - avifROStreamOffset
    - avifDiagnosticsPrintf
    - avifROStreamCurrent
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifParseTrackBox
    - avifROStreamSkip
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseMovieBox(avifDecoderData * data,\n                                    uint64_t
      rawOffset,\n                                    const uint8_t * raw,\n                                    size_t
      rawLen,\n                                    uint32_t imageSizeLimit,\n                                    uint32_t
      imageDimensionLimit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4064,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4065,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - meta
    - propertyType
    argTypes:
    - avifMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4062
    functionDepth: 2
    functionLinenumber: 4062
    functionLinenumberEnd: 4068
    functionName: avifMetaCreateProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - memcpy
    - avifArrayPush
    linkageType: ''
    returnType: avifProperty
    signature: avifProperty * avifMetaCreateProperty(avifMeta * meta, const char *
      propertyType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4072,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - item
    - metaProperty
    argTypes:
    - avifDecoderItem*
    - avifProperty*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4070
    functionDepth: 2
    functionLinenumber: 4070
    functionLinenumberEnd: 4076
    functionName: avifDecoderItemAddProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifArrayPush
    linkageType: ''
    returnType: avifProperty
    signature: avifProperty * avifDecoderItemAddProperty(avifDecoderItem * item, const
      avifProperty * metaProperty)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:4086,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4091,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4091,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4092,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4096,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4096,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4097,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4097,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4098,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4098,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4099,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4099,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4100,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4100,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4101,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4101,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4102,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4102,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4103,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4103,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4104,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4104,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4107,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4107,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4108,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4108,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4113,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4113,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4114,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4114,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4117,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4117,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4124,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4124,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4128,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4128,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4137,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4137,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4139,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4139,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4148,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4148,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4156,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4156,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4157,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4157,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4159,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4159,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4177,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4177,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4181,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4181,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4184,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4184,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4184,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4185,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4185,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4188,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4188,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4188,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4191,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4192,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4193,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4212,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4212,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4216,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:4216,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4218,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4219,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4220,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4222,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4222,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4225,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4225,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4228,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4228,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4229,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4229,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4231,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4231,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4234,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4234,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4238,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4238,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4243,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4243,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4249,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4249,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4251,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4251,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4258,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4258,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4259,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4259,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4261,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4261,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4262,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4262,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4264,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4264,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4265,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4265,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4273,1
    - Dst: avifParseMiniHDRProperties
      Src: /src/libavif/src/read.c:4273,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4275,1
    - Dst: avifParseMiniHDRProperties
      Src: /src/libavif/src/read.c:4275,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4282,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4282,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4284,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4284,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4285,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4285,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4289,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4289,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4295,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4295,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4302,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4302,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4304,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4304,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4307,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4307,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4313,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4313,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4315,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4315,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4321,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4321,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4325,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4325,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4331,1
    - Dst: avifROStreamReadBitsU8
      Src: /src/libavif/src/read.c:4331,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4333,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4337,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4337,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4343,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4343,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4351,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/read.c:4351,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4352,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4357,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4358,1
    - Dst: avifParseCodecConfiguration
      Src: /src/libavif/src/read.c:4358,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4366,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4367,1
    - Dst: avifParseCodecConfiguration
      Src: /src/libavif/src/read.c:4367,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4377,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4378,1
    - Dst: avifParseCodecConfiguration
      Src: /src/libavif/src/read.c:4378,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4386,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:4386,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4398,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4398,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4399,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4409,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4429,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4429,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4430,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4439,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4439,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4440,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4445,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4446,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4447,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4448,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:4448,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4449,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4450,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4452,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4453,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4458,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4458,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4459,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4467,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4468,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4470,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4470,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4473,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4474,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4477,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4477,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4480,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4481,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4486,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4486,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4489,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4490,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4496,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4496,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4500,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4501,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4503,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4505,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4505,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4506,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4506,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4508,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4508,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4513,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4514,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4516,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4516,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4518,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4518,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4525,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4526,1
    - Dst: strcpy
      Src: /src/libavif/src/read.c:4527,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4528,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4528,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4531,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4531,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4534,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4535,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4536,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4539,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4539,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4542,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4542,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4543,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4543,1
    - Dst: assert
      Src: /src/libavif/src/read.c:4552,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4553,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4554,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4557,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4557,1
    - Dst: assert
      Src: /src/libavif/src/read.c:4562,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4563,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4564,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4567,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4567,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4572,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4573,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4575,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4575,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4577,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4577,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4581,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4581,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4586,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4587,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4589,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4589,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4591,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4591,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4596,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4597,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4600,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4600,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4603,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4604,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4605,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4610,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4610,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4613,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4614,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4620,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4620,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4623,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4623,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4624,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4624,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4625,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4625,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4630,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4631,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4634,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4634,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4636,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4636,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4641,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4642,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4648,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4648,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4650,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4650,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4655,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4656,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4658,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4660,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4660,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4661,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4661,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4663,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4663,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4668,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4669,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4671,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4671,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4673,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4673,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4677,1
    - Dst: avifMetaCreateProperty
      Src: /src/libavif/src/read.c:4677,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:4679,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4688,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4688,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4690,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4690,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4693,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4693,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4698,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4698,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4700,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4700,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4703,1
    - Dst: avifDecoderItemAddProperty
      Src: /src/libavif/src/read.c:4703,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4712,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/read.c:4712,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4715,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:4715,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4719,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4720,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4721,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4723,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4723,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4728,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4729,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4730,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4732,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4732,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4736,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4737,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4738,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4740,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4740,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4745,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4745,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4746,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4749,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4750,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4751,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4753,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4753,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4759,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:4759,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4760,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4761,1
    - Dst: avifArrayPush
      Src: /src/libavif/src/read.c:4764,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4765,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/read.c:4766,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4768,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4768,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 452
    argCount: 6
    argNames:
    - data
    - rawOffset
    - raw
    - rawLen
    - isAvifAccordingToMinorVersion
    - diag
    argTypes:
    - avifDecoderData*
    - uint64_t
    - uint8_t*
    - size_t
    - avifBool
    - avifDiagnostics*
    assertStmts:
    - condition: (irotPropIndex + 1 == 9)
      pos:
        line_end: 4551
        line_start: 4551
        source_file: /src/libavif/src/read.c
    - condition: (imirPropIndex + 1 == 10)
      pos:
        line_end: 4561
        line_start: 4561
        source_file: /src/libavif/src/read.c
    constantsTouched: []
    func_position:
      end: 4772
      start: 4078
    functionDepth: 4
    functionLinenumber: 4078
    functionLinenumberEnd: 4772
    functionName: avifParseMinimizedImageBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - avifROStreamOffset
    - avifROStreamReadBitsU8
    - assert
    - avifMetaFindOrCreateItem
    - BEGIN_STREAM
    - avifDecoderItemAddProperty
    - avifArrayPush
    - strcpy
    - avifMetaCreateProperty
    - avifROStreamRead
    - AVIF_CHECKERR
    - avifArrayCreate
    - avifParseMiniHDRProperties
    - memcmp
    - avifROStreamReadBitsU32
    - memcpy
    - avifROStreamSkip
    - avifParseCodecConfiguration
    - AVIF_CHECKRES
    - AVIF_ASSERT_OR_RETURN
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifParseMinimizedImageBox(avifDecoderData * data,\n                                             uint64_t
      rawOffset,\n                                             const uint8_t * raw,\n
      \                                            size_t rawLen,\n                                             avifBool
      isAvifAccordingToMinorVersion,\n                                             avifDiagnostics
      * diag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:4777,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:4779,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:4779,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:4780,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/read.c:4780,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/read.c:4782,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:4784,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:4787,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:4788,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/read.c:4788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ftyp
    - raw
    - rawLen
    - diag
    argTypes:
    - avifFileType*
    - uint8_t*
    - size_t
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4792
      start: 4775
    functionDepth: 1
    functionLinenumber: 4775
    functionLinenumberEnd: 4792
    functionName: avifParseFileTypeBox
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamCurrent
    - BEGIN_STREAM
    - AVIF_CHECK
    - avifROStreamRead
    - avifROStreamRemainingBytes
    - avifROStreamSkip
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifParseFileTypeBox(avifFileType * ftyp, const uint8_t *
      raw, size_t rawLen, avifDiagnostics * diag)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoder*::io::read
      Src: /src/libavif/src/read.c:4825,1
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:4836,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4838,1
    - Dst: avifROStreamReadBoxHeaderPartial
      Src: /src/libavif/src/read.c:4838,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:4840,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4848,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4851,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4855,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4861,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4867,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4867,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4868,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4871,1
    - Dst: avifDecoder*::io::read
      Src: /src/libavif/src/read.c:4887,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4907,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4908,1
    - Dst: avifParseFileTypeBox
      Src: /src/libavif/src/read.c:4908,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4909,1
    - Dst: avifFileTypeIsCompatible
      Src: /src/libavif/src/read.c:4909,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4911,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4913,1
    - Dst: avifArrayCreate
      Src: /src/libavif/src/read.c:4913,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:4915,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:4918,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:4919,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:4921,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4923,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4931,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4931,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4931,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:4935,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4940,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4942,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4944,1
    - Dst: avifParseMetaBox
      Src: /src/libavif/src/read.c:4944,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4948,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4956,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4957,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:4958,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4959,1
    - Dst: avifParseMinimizedImageBox
      Src: /src/libavif/src/read.c:4960,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4964,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:4965,1
    - Dst: avifParseMovieBox
      Src: /src/libavif/src/read.c:4966,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:4975,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 133
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4797
    functionDepth: 10
    functionLinenumber: 4797
    functionLinenumberEnd: 5006
    functionName: avifParse
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifArrayCreate
    - avifParseMovieBox
    - avifParseMinimizedImageBox
    - AVIF_CHECKRES
    - memcmp
    - avifFileTypeIsCompatible
    - avifFileTypeHasBrand
    - AVIF_ASSERT_OR_RETURN
    - memcpy
    - avifParseMetaBox
    - BEGIN_STREAM
    - AVIF_CHECKERR
    - avifParseFileTypeBox
    - avifROStreamReadBoxHeaderPartial
    - avifDecoder*::io::read
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifParse(avifDecoder * decoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5012,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ftyp
    - brand
    argTypes:
    - avifFileType*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5023
    functionName: avifFileTypeHasBrand
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFileTypeHasBrand(avifFileType * ftyp, const char * brand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:5027,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:5027,1
    - Dst: avifFileTypeHasBrand
      Src: /src/libavif/src/read.c:5029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ftyp
    argTypes:
    - avifFileType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5032
      start: 5025
    functionDepth: 1
    functionLinenumber: 5025
    functionLinenumberEnd: 5032
    functionName: avifFileTypeIsCompatible
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifFileTypeHasBrand
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifFileTypeIsCompatible(avifFileType * ftyp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_STREAM
      Src: /src/libavif/src/read.c:5036,1
    - Dst: avifROStreamReadBoxHeaderPartial
      Src: /src/libavif/src/read.c:5039,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5039,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/read.c:5047,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/read.c:5047,1
    - Dst: memset
      Src: /src/libavif/src/read.c:5050,1
    - Dst: avifParseFileTypeBox
      Src: /src/libavif/src/read.c:5051,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/read.c:5051,1
    - Dst: avifFileTypeIsCompatible
      Src: /src/libavif/src/read.c:5055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - input
    argTypes:
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5034
    functionDepth: 2
    functionLinenumber: 5034
    functionLinenumberEnd: 5056
    functionName: avifPeekCompatibleFileType
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 8
    functionsReached:
    - avifROStreamHasBytesLeft
    - memcmp
    - avifFileTypeIsCompatible
    - avifROStreamCurrent
    - BEGIN_STREAM
    - AVIF_CHECK
    - memset
    - avifParseFileTypeBox
    - avifROStreamReadBoxHeaderPartial
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPeekCompatibleFileType(const avifROData * input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - brands
    - brand
    argTypes:
    - avifBrandArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5066
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5066
    functionName: avifBrandArrayHasBrand
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifBrandArrayHasBrand(avifBrandArray * brands, const char
      * brand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:5072,1
    - Dst: memset
      Src: /src/libavif/src/read.c:5076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5070
    functionDepth: 1
    functionLinenumber: 5070
    functionLinenumberEnd: 5084
    functionName: avifDecoderCreate
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 5
    functionsReached:
    - memset
    - avifAlloc
    linkageType: ''
    returnType: avifDecoder
    signature: avifDecoder * avifDecoderCreate(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDataDestroy
      Src: /src/libavif/src/read.c:5089,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:5094,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:5097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5098
      start: 5086
    functionDepth: 5
    functionLinenumber: 5086
    functionLinenumberEnd: 5098
    functionName: avifDecoderCleanup
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - avifDecoderDataDestroy
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: void
    signature: void avifDecoderCleanup(avifDecoder * decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderCleanup
      Src: /src/libavif/src/read.c:5102,1
    - Dst: avifIODestroy
      Src: /src/libavif/src/read.c:5103,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5100
    functionDepth: 6
    functionLinenumber: 5100
    functionLinenumberEnd: 5105
    functionName: avifDecoderDestroy
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 5
    functionsReached:
    - avifFree
    - avifDecoderCleanup
    - avifIODestroy
    linkageType: ''
    returnType: void
    signature: void avifDecoderDestroy(avifDecoder * decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderReset
      Src: /src/libavif/src/read.c:5110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - source
    argTypes:
    - avifDecoder*
    - avifDecoderSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5111
      start: 5107
    functionDepth: 1
    functionLinenumber: 5107
    functionLinenumberEnd: 5111
    functionName: avifDecoderSetSource
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 12
    functionsReached:
    - avifDecoderReset
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderSetSource(avifDecoder * decoder, avifDecoderSource
      source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifIODestroy
      Src: /src/libavif/src/read.c:5115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - decoder
    - io
    argTypes:
    - avifDecoder*
    - avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5117
      start: 5113
    functionDepth: 1
    functionLinenumber: 5113
    functionLinenumberEnd: 5117
    functionName: avifDecoderSetIO
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 33
    functionsReached:
    - avifIODestroy
    linkageType: ''
    returnType: void
    signature: void avifDecoderSetIO(avifDecoder * decoder, avifIO * io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifIOCreateMemoryReader
      Src: /src/libavif/src/read.c:5121,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5122,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/src/read.c:5123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - data
    - size
    argTypes:
    - avifDecoder*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5125
      start: 5119
    functionDepth: 2
    functionLinenumber: 5119
    functionLinenumberEnd: 5125
    functionName: avifDecoderSetIOMemory
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 84
    functionsReached:
    - AVIF_CHECKERR
    - avifIOCreateMemoryReader
    - avifDecoderSetIO
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderSetIOMemory(avifDecoder * decoder, const uint8_t
      * data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifIOCreateFileReader
      Src: /src/libavif/src/read.c:5129,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/src/read.c:5133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - decoder
    - filename
    argTypes:
    - avifDecoder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5135
      start: 5127
    functionDepth: 3
    functionLinenumber: 5127
    functionLinenumberEnd: 5135
    functionName: avifDecoderSetIOFile
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 68
    functionsReached:
    - avifIOCreateFileReader
    - avifDecoderSetIO
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderSetIOFile(avifDecoder * decoder, const char *
      filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_MIN
      Src: /src/libavif/src/read.c:5154,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/read.c:5155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - avifExtent*
    - avifExtent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5163
      start: 5140
    functionDepth: 0
    functionLinenumber: 5140
    functionLinenumberEnd: 5163
    functionName: avifExtentMerge
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - AVIF_MAX
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifExtentMerge(avifExtent * dst, const avifExtent * src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/src/read.c:5172,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/src/read.c:5174,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5189,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:5189,1
    - Dst: avifDecoderItemMaxExtent
      Src: /src/libavif/src/read.c:5190,1
    - Dst: avifExtentMerge
      Src: /src/libavif/src/read.c:5205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - decoder
    - frameIndex
    - outExtent
    argTypes:
    - avifDecoder*
    - uint32_t
    - avifExtent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5212
      start: 5165
    functionDepth: 4
    functionLinenumber: 5165
    functionLinenumberEnd: 5212
    functionName: avifDecoderNthImageMaxExtent
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifExtentMerge
    - AVIF_CHECKRES
    - avifDecoderNearestKeyframe
    - avifMetaFindOrCreateItem
    - avifDecoderItemMaxExtent
    - memset
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderNthImageMaxExtent(const avifDecoder * decoder,
      uint32_t frameIndex, avifExtent * outExtent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5228,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:5228,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:5236,1
    - Dst: avifDecoder*::io::read
      Src: /src/libavif/src/read.c:5253,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5266,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:5266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - decoder
    - sample
    - partialByteCount
    argTypes:
    - avifDecoder*
    - avifDecodeSample*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5271
      start: 5214
    functionDepth: 4
    functionLinenumber: 5214
    functionLinenumberEnd: 5271
    functionName: avifDecoderPrepareSample
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataSet
    - AVIF_CHECKRES
    - avifDecoderItemRead
    - avifMetaFindOrCreateItem
    - avifDecoder*::io::read
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderPrepareSample(avifDecoder * decoder, avifDecodeSample
      * sample, size_t partialByteCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:5281,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - avifDecoderItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5278
    functionDepth: 1
    functionLinenumber: 5278
    functionLinenumberEnd: 5282
    functionName: avifDecoderItemShouldBeSkipped
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifGetCodecType
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDecoderItemShouldBeSkipped(const avifDecoderItem * item)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:5286,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5296,1
    - Dst: avifDecoderCleanup
      Src: /src/libavif/src/read.c:5304,1
    - Dst: avifDecoderDataCreate
      Src: /src/libavif/src/read.c:5309,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5310,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5313,1
    - Dst: avifParse
      Src: /src/libavif/src/read.c:5313,1
    - Dst: avifDecoderItemShouldBeSkipped
      Src: /src/libavif/src/read.c:5319,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5323,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5329,1
    - Dst: avifDimensionsTooLarge
      Src: /src/libavif/src/read.c:5332,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5333,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5337,1
    - Dst: isAlphaURN
      Src: /src/libavif/src/read.c:5338,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5340,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5346,1
    - Dst: avifDecoderReset
      Src: /src/libavif/src/read.c:5351,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5284
    functionDepth: 11
    functionLinenumber: 5284
    functionLinenumberEnd: 5352
    functionName: avifDecoderParse
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 177
    functionsReached:
    - isAlphaURN
    - avifDecoderCleanup
    - avifDimensionsTooLarge
    - avifDecoderDataCreate
    - AVIF_CHECKRES
    - avifPropertyArrayFind
    - avifDecoderReset
    - avifDiagnosticsPrintf
    - avifDiagnosticsClearError
    - avifParse
    - AVIF_CHECKERR
    - avifDecoderItemShouldBeSkipped
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderParse(avifDecoder * decoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecTypeFromChoice
      Src: /src/libavif/src/read.c:5363,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5365,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:5367,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5370,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:5372,1
    - Dst: avifCodecName
      Src: /src/libavif/src/read.c:5373,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5377,1
    - Dst: avifCodecCreate
      Src: /src/libavif/src/read.c:5377,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - choice
    - tile
    - diag
    - codec
    argTypes:
    - avifCodecChoice
    - avifTile*
    - avifDiagnostics*
    - avifCodec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5383
      start: 5354
    functionDepth: 2
    functionLinenumber: 5354
    functionLinenumberEnd: 5383
    functionName: avifCodecCreateInternal
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifDiagnosticsPrintf
    - avifGetConfigurationPropertyName
    - avifCodecTypeFromChoice
    - avifCodecCreate
    - AVIF_CHECKERR
    - avifCodecName
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifCodecCreateInternal(avifCodecChoice choice, const avifTile
      * tile, avifDiagnostics * diag, avifCodec ** codec)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5418
    functionName: avifTilesCanBeDecodedWithSameCodecInstance
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifTilesCanBeDecodedWithSameCodecInstance(const avifDecoderData
      * data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDataResetCodec
      Src: /src/libavif/src/read.c:5423,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5428,1
    - Dst: avifCodecCreateInternal
      Src: /src/libavif/src/read.c:5428,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5431,1
    - Dst: avifCodecCreateInternal
      Src: /src/libavif/src/read.c:5431,1
    - Dst: avifTilesCanBeDecodedWithSameCodecInstance
      Src: /src/libavif/src/read.c:5449,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5452,1
    - Dst: avifCodecCreateInternal
      Src: /src/libavif/src/read.c:5452,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5459,1
    - Dst: avifCodecCreateInternal
      Src: /src/libavif/src/read.c:5459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5420
    functionDepth: 3
    functionLinenumber: 5420
    functionLinenumberEnd: 5464
    functionName: avifDecoderCreateCodecs
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDecoderDataResetCodec
    - avifTilesCanBeDecodedWithSameCodecInstance
    - AVIF_CHECKRES
    - avifCodecCreateInternal
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderCreateCodecs(avifDecoder * decoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderItemShouldBeSkipped
      Src: /src/libavif/src/read.c:5471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - meta
    argTypes:
    - avifMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5479
      start: 5467
    functionDepth: 2
    functionLinenumber: 5467
    functionLinenumberEnd: 5479
    functionName: avifMetaFindColorItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDecoderItemShouldBeSkipped
    linkageType: ''
    returnType: avifDecoderItem
    signature: avifDecoderItem * avifMetaFindColorItem(avifMeta * meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5487,1
    - Dst: isAlphaURN
      Src: /src/libavif/src/read.c:5488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - item
    - colorItemId
    argTypes:
    - avifDecoderItem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5483
    functionDepth: 1
    functionLinenumber: 5483
    functionLinenumberEnd: 5489
    functionName: avifDecoderItemIsAlphaAux
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - isAlphaURN
    - avifPropertyArrayFind
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDecoderItemIsAlphaAux(const avifDecoderItem * item, uint32_t
      colorItemId)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderItemShouldBeSkipped
      Src: /src/libavif/src/read.c:5506,1
    - Dst: avifDecoderItemIsAlphaAux
      Src: /src/libavif/src/read.c:5509,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5515,1
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:5528,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5529,1
    - Dst: avifDecoderItemIsAlphaAux
      Src: /src/libavif/src/read.c:5541,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5549,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5559,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5567,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:5588,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5591,1
    - Dst: memcpy
      Src: /src/libavif/src/read.c:5594,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5599,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:5606,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 6
    argNames:
    - meta
    - colorItem
    - colorInfo
    - alphaItem
    - alphaInfo
    - isAlphaItemInInput
    argTypes:
    - avifMeta*
    - avifDecoderItem*
    - avifTileInfo*
    - avifDecoderItem**
    - avifTileInfo*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5610
      start: 5497
    functionDepth: 4
    functionLinenumber: 5497
    functionLinenumberEnd: 5610
    functionName: avifMetaFindAlphaItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifFree
    - memcmp
    - avifAlloc
    - avifDecoderItemIsAlphaAux
    - memcpy
    - avifMetaFindOrCreateItem
    - AVIF_CHECKERR
    - avifDecoderItemShouldBeSkipped
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifMetaFindAlphaItem(avifMeta * meta,\n                                        const
      avifDecoderItem * colorItem,\n                                        const
      avifTileInfo * colorInfo,\n                                        avifDecoderItem
      ** alphaItem,\n                                        avifTileInfo * alphaInfo,\n
      \                                       avifBool * isAlphaItemInInput)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/read.c:5629,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - properties
    - colorPrimaries
    - transferCharacteristics
    - matrixCoefficients
    - yuvRange
    - cicpSet
    argTypes:
    - avifPropertyArray*
    - avifColorPrimaries*
    - avifTransferCharacteristics*
    - avifMatrixCoefficients*
    - avifRange*
    - avifBool*
    assertStmts:
    - condition: (cicpSet == NULL || *cicpSet == AVIF_FALSE)
      pos:
        line_end: 5628
        line_start: 5628
        source_file: /src/libavif/src/read.c
    constantsTouched: []
    func_position:
      end: 5648
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5648
    functionName: avifReadColorNclxProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - assert
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifReadColorNclxProperty(const avifPropertyArray * properties,\n
      \                                           avifColorPrimaries * colorPrimaries,\n
      \                                           avifTransferCharacteristics * transferCharacteristics,\n
      \                                           avifMatrixCoefficients * matrixCoefficients,\n
      \                                           avifRange * yuvRange,\n                                            avifBool
      * cicpSet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5671,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5676,1
    - Dst: avifIO*::read
      Src: /src/libavif/src/read.c:5676,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5678,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/read.c:5678,1
    - Dst: avifReadColorNclxProperty
      Src: /src/libavif/src/read.c:5681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - io
    - properties
    - icc
    - colorPrimaries
    - transferCharacteristics
    - matrixCoefficients
    - yuvRange
    - cicpSet
    argTypes:
    - avifIO*
    - avifPropertyArray*
    - avifRWData*
    - avifColorPrimaries*
    - avifTransferCharacteristics*
    - avifMatrixCoefficients*
    - avifRange*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5682
      start: 5657
    functionDepth: 3
    functionLinenumber: 5657
    functionLinenumberEnd: 5682
    functionName: avifReadColorProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifRWDataSet
    - AVIF_CHECKRES
    - memcmp
    - avifReadColorNclxProperty
    - avifIO*::read
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifReadColorProperties(avifIO * io,\n                                          const
      avifPropertyArray * properties,\n                                          avifRWData
      * icc,\n                                          avifColorPrimaries * colorPrimaries,\n
      \                                         avifTransferCharacteristics * transferCharacteristics,\n
      \                                         avifMatrixCoefficients * matrixCoefficients,\n
      \                                         avifRange * yuvRange,\n                                          avifBool
      * cicpSet)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5700,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:5711,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5718,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - data
    - colorItem
    - toneMappedImageItem
    - gainMapItemID
    argTypes:
    - avifDecoderData*
    - avifDecoderItem*
    - avifDecoderItem**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5690
    functionDepth: 1
    functionLinenumber: 5690
    functionLinenumberEnd: 5733
    functionName: avifDecoderDataFindToneMappedImageItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - AVIF_ASSERT_OR_RETURN
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderDataFindToneMappedImageItem(const avifDecoderData
      * data,\n                                                         const avifDecoderItem
      * colorItem,\n                                                         avifDecoderItem
      ** toneMappedImageItem,\n                                                         uint32_t
      * gainMapItemID)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - data
    - id1
    - id2
    argTypes:
    - avifDecoderData*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5758
      start: 5738
    functionDepth: 0
    functionLinenumber: 5738
    functionLinenumberEnd: 5758
    functionName: avifIsPreferredAlternativeTo
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifIsPreferredAlternativeTo(const avifDecoderData * data,
      uint32_t id1, uint32_t id2)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5780,1
    - Dst: avifDecoderDataFindToneMappedImageItem
      Src: /src/libavif/src/read.c:5780,1
    - Dst: avifIsPreferredAlternativeTo
      Src: /src/libavif/src/read.c:5785,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5791,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:5791,1
    - Dst: avifGainMapSetDefaults
      Src: /src/libavif/src/read.c:5794,1
    - Dst: avifParseToneMappedImageBox
      Src: /src/libavif/src/read.c:5795,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5800,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5803,1
    - Dst: avifMetaFindOrCreateItem
      Src: /src/libavif/src/read.c:5803,1
    - Dst: avifDecoderItemShouldBeSkipped
      Src: /src/libavif/src/read.c:5804,1
    - Dst: avifDecoderItemReadAndParse
      Src: /src/libavif/src/read.c:5808,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5816,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5818,1
    - Dst: avifReadColorProperties
      Src: /src/libavif/src/read.c:5818,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5827,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5832,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5838,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5843,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5847,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5851,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5852,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5853,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5854,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5860,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:5871,1
    - Dst: avifReadColorNclxProperty
      Src: /src/libavif/src/read.c:5872,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/src/read.c:5876,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5877,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/read.c:5881,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:5883,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 4
    argNames:
    - decoder
    - colorItem
    - gainMapItem
    - gainMapCodecType
    argTypes:
    - avifDecoder*
    - avifDecoderItem*
    - avifDecoderItem**
    - avifCodecType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5895
      start: 5767
    functionDepth: 4
    functionLinenumber: 5767
    functionLinenumberEnd: 5895
    functionName: avifDecoderFindGainMapItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifIsPreferredAlternativeTo
    - avifDecoderDataFindToneMappedImageItem
    - AVIF_CHECKRES
    - avifDecoderItemRead
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    - avifParseToneMappedImageBox
    - avifReadColorProperties
    - avifGainMapCreate
    - avifMetaFindOrCreateItem
    - avifDecoderItemReadAndParse
    - avifGainMapSetDefaults
    - AVIF_CHECKERR
    - avifReadColorNclxProperty
    - avifDecoderItemShouldBeSkipped
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderFindGainMapItem(const avifDecoder * decoder,\n
      \                                            const avifDecoderItem * colorItem,\n
      \                                            avifDecoderItem ** gainMapItem,\n
      \                                            avifCodecType * gainMapCodecType)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5906,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5907,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5908,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5928,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5932,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5936,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 17
    argCount: 2
    argNames:
    - decoder
    - alphaProperties
    argTypes:
    - avifDecoder*
    - avifPropertyArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5940
      start: 5897
    functionDepth: 1
    functionLinenumber: 5897
    functionLinenumberEnd: 5940
    functionName: avifDecoderCheckAlphaProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderCheckAlphaProperties(avifDecoder * decoder, const
      avifPropertyArray * alphaProperties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5950,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5953,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5957,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5963,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5966,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5968,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:5971,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:5973,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 18
    argCount: 2
    argNames:
    - decoder
    - gainMapProperties
    argTypes:
    - avifDecoder*
    - avifPropertyArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5977
      start: 5942
    functionDepth: 1
    functionLinenumber: 5942
    functionLinenumberEnd: 5977
    functionName: avifDecoderCheckGainMapProperties
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifPropertyArrayFind
    - avifDiagnosticsPrintf
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderCheckGainMapProperties(avifDecoder * decoder,
      const avifPropertyArray * gainMapProperties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/src/read.c:5985,1
    - Dst: avifIsPreferredAlternativeTo
      Src: /src/libavif/src/read.c:5987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5981
    functionDepth: 1
    functionLinenumber: 5981
    functionLinenumberEnd: 5992
    functionName: avifDecoderDataFindSampleTransformImageItem
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifIsPreferredAlternativeTo
    linkageType: ''
    returnType: avifDecoderItem
    signature: avifDecoderItem * avifDecoderDataFindSampleTransformImageItem(avifDecoderData
      * data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/read.c:6000,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6001,1
    - Dst: avifFillDimgIdxToItemIdxArray
      Src: /src/libavif/src/read.c:6002,1
    - Dst: avifDecoderGenerateImageGridTiles
      Src: /src/libavif/src/read.c:6004,1
    - Dst: avifFree
      Src: /src/libavif/src/read.c:6006,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6007,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6009,1
    - Dst: avifGetCodecType
      Src: /src/libavif/src/read.c:6011,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6012,1
    - Dst: avifDecoderDataCreateTile
      Src: /src/libavif/src/read.c:6014,1
    - Dst: avifDecoderItemOperatingPoint
      Src: /src/libavif/src/read.c:6014,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6015,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6016,1
    - Dst: avifCodecDecodeInputFillFromDecoderItem
      Src: /src/libavif/src/read.c:6016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - decoder
    - info
    - item
    - itemCategory
    argTypes:
    - avifDecoder*
    - avifTileInfo*
    - avifDecoderItem*
    - avifItemCategory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6026
      start: 5994
    functionDepth: 5
    functionLinenumber: 5994
    functionLinenumberEnd: 6026
    functionName: avifDecoderGenerateImageTiles
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifDecoderDataCreateTile
    - AVIF_CHECKRES
    - avifCodecDecodeInputFillFromDecoderItem
    - avifAlloc
    - AVIF_ASSERT_OR_RETURN
    - avifFillDimgIdxToItemIdxArray
    - avifDecoderGenerateImageGridTiles
    - AVIF_CHECKERR
    - avifDecoderItemOperatingPoint
    - avifGetCodecType
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderGenerateImageTiles(avifDecoder * decoder, avifTileInfo
      * info, avifDecoderItem * item, avifItemCategory itemCategory)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6031,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:6031,1
    - Dst: avifCodecConfigurationBoxGetDepth
      Src: /src/libavif/src/read.c:6033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - image
    - properties
    - codecType
    argTypes:
    - avifImage*
    - avifPropertyArray*
    - avifCodecType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6051
      start: 6029
    functionDepth: 1
    functionLinenumber: 6029
    functionLinenumberEnd: 6051
    functionName: avifReadCodecConfigProperty
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifGetConfigurationPropertyName
    - avifPropertyArrayFind
    - avifCodecConfigurationBoxGetDepth
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifReadCodecConfigProperty(avifImage * image, const avifPropertyArray
      * properties, avifCodecType codecType)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:6055,1
    - Dst: memset
      Src: /src/libavif/src/read.c:6064,1
    - Dst: avifDecoderDataClearTiles
      Src: /src/libavif/src/read.c:6066,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:6070,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/read.c:6072,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6073,1
    - Dst: memset
      Src: /src/libavif/src/read.c:6077,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6082,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:6092,1
    - Dst: memcmp
      Src: /src/libavif/src/read.c:6094,1
    - Dst: avifSampleTableGetCodecType
      Src: /src/libavif/src/read.c:6126,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6142,1
    - Dst: avifSampleTableGetProperties
      Src: /src/libavif/src/read.c:6147,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6149,1
    - Dst: avifDecoderFindMetadata
      Src: /src/libavif/src/read.c:6156,1
    - Dst: avifSampleTableGetCodecType
      Src: /src/libavif/src/read.c:6175,1
    - Dst: avifSampleTableGetProperties
      Src: /src/libavif/src/read.c:6179,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6180,1
    - Dst: isAlphaURN
      Src: /src/libavif/src/read.c:6185,1
    - Dst: avifDecoderDataCreateTile
      Src: /src/libavif/src/read.c:6203,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6204,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6205,1
    - Dst: avifCodecDecodeInputFillFromSampleTable
      Src: /src/libavif/src/read.c:6205,1
    - Dst: avifDecoderDataCreateTile
      Src: /src/libavif/src/read.c:6213,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6214,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6215,1
    - Dst: avifCodecDecodeInputFillFromSampleTable
      Src: /src/libavif/src/read.c:6215,1
    - Dst: memset
      Src: /src/libavif/src/read.c:6241,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6252,1
    - Dst: avifMetaFindColorItem
      Src: /src/libavif/src/read.c:6265,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6267,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6270,1
    - Dst: avifDecoderItemReadAndParse
      Src: /src/libavif/src/read.c:6270,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6280,1
    - Dst: avifMetaFindAlphaItem
      Src: /src/libavif/src/read.c:6280,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6287,1
    - Dst: avifDecoderItemReadAndParse
      Src: /src/libavif/src/read.c:6287,1
    - Dst: avifBrandArrayHasBrand
      Src: /src/libavif/src/read.c:6304,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6307,1
    - Dst: avifDecoderFindGainMapItem
      Src: /src/libavif/src/read.c:6307,1
    - Dst: avifDecoderDataFindSampleTransformImageItem
      Src: /src/libavif/src/read.c:6315,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6318,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6328,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6334,1
    - Dst: avifDecoderItemShouldBeSkipped
      Src: /src/libavif/src/read.c:6343,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6344,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6348,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6354,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6360,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6368,1
    - Dst: avifDecoderItemReadAndParse
      Src: /src/libavif/src/read.c:6368,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6376,1
    - Dst: avifMetaFindAlphaItem
      Src: /src/libavif/src/read.c:6376,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6383,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6385,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6386,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6389,1
    - Dst: avifDecoderItemReadAndParse
      Src: /src/libavif/src/read.c:6389,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6398,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6400,1
    - Dst: avifDecoderItemRead
      Src: /src/libavif/src/read.c:6400,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6401,1
    - Dst: avifParseSampleTransformImageBox
      Src: /src/libavif/src/read.c:6401,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6406,1
    - Dst: avifDecoderSampleTransformItemValidateProperties
      Src: /src/libavif/src/read.c:6406,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6407,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6408,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6413,1
    - Dst: avifDecoderFindMetadata
      Src: /src/libavif/src/read.c:6413,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6431,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6433,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6435,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6440,1
    - Dst: avifDecoderAdoptGridTileCodecTypeIfNeeded
      Src: /src/libavif/src/read.c:6440,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6448,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6451,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6457,1
    - Dst: avifDecoderGenerateImageTiles
      Src: /src/libavif/src/read.c:6457,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6460,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6465,1
    - Dst: avifDecoderItemValidateProperties
      Src: /src/libavif/src/read.c:6466,1
    - Dst: avifGetConfigurationPropertyName
      Src: /src/libavif/src/read.c:6466,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6489,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6494,1
    - Dst: avifReadCodecConfigProperty
      Src: /src/libavif/src/read.c:6494,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6525,1
    - Dst: avifReadColorProperties
      Src: /src/libavif/src/read.c:6525,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6534,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6540,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6545,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6550,1
    - Dst: avifPropertyArrayFind
      Src: /src/libavif/src/read.c:6555,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6561,1
    - Dst: avifDecoderCheckAlphaProperties
      Src: /src/libavif/src/read.c:6561,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6564,1
    - Dst: avifDecoderCheckGainMapProperties
      Src: /src/libavif/src/read.c:6564,1
    - Dst: avifDecoderPrepareSample
      Src: /src/libavif/src/read.c:6583,1
    - Dst: avifSequenceHeaderParse
      Src: /src/libavif/src/read.c:6589,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6601,1
    - Dst: avifReadCodecConfigProperty
      Src: /src/libavif/src/read.c:6601,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6603,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6611,1
    - Dst: avifImagePushProperty
      Src: /src/libavif/src/read.c:6611,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6623,1
    - Dst: avifImagePushProperty
      Src: /src/libavif/src/read.c:6623,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 346
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6632
      start: 6053
    functionDepth: 6
    functionLinenumber: 6053
    functionLinenumberEnd: 6632
    functionName: avifDecoderReset
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 14
    functionsReached:
    - avifSequenceHeaderParse
    - avifDecoderItemRead
    - avifDecoderDataClearTiles
    - avifGetConfigurationPropertyName
    - avifIsAlpha
    - avifDecoderPrepareSample
    - avifSampleTableGetProperties
    - avifDecoderItemShouldBeSkipped
    - avifDecoderCheckGainMapProperties
    - avifPropertyArrayFind
    - avifReadColorProperties
    - avifDecoderFindMetadata
    - avifBrandArrayHasBrand
    - AVIF_CHECKERR
    - memset
    - avifMetaFindAlphaItem
    - avifImagePushProperty
    - avifDecoderSampleTransformItemValidateProperties
    - avifDecoderDataFindSampleTransformImageItem
    - memcmp
    - avifDecoderFindGainMapItem
    - avifDiagnosticsClearError
    - avifDecoderAdoptGridTileCodecTypeIfNeeded
    - isAlphaURN
    - avifImageDestroy
    - avifDecoderDataCreateTile
    - avifDecoderCheckAlphaProperties
    - AVIF_CHECKRES
    - avifSampleTableGetCodecType
    - avifMetaFindColorItem
    - avifDiagnosticsPrintf
    - avifParseSampleTransformImageBox
    - avifDecoderGenerateImageTiles
    - avifDecoderItemValidateProperties
    - AVIF_ASSERT_OR_RETURN
    - avifDecoderItemReadAndParse
    - avifReadCodecConfigProperty
    - avifCodecDecodeInputFillFromSampleTable
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderReset(avifDecoder * decoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderPrepareSample
      Src: /src/libavif/src/read.c:6644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - decoder
    - nextImageIndex
    - info
    argTypes:
    - avifDecoder*
    - uint32_t
    - avifTileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6650
      start: 6634
    functionDepth: 5
    functionLinenumber: 6634
    functionLinenumberEnd: 6650
    functionName: avifDecoderPrepareTiles
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifDecoderPrepareSample
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderPrepareTiles(avifDecoder * decoder, uint32_t
      nextImageIndex, const avifTileInfo * info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/read.c:6665,1
    - Dst: avifLimitedToFullY
      Src: /src/libavif/src/read.c:6676,1
    - Dst: avifLimitedToFullY
      Src: /src/libavif/src/read.c:6686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6692
      start: 6652
    functionDepth: 2
    functionLinenumber: 6652
    functionLinenumberEnd: 6692
    functionName: avifImageLimitedToFullAlpha
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifImageAllocatePlanes
    - avifLimitedToFullY
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageLimitedToFullAlpha(avifImage * image)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - itemCategory
    argTypes:
    - avifItemCategory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6703
      start: 6694
    functionDepth: 1
    functionLinenumber: 6694
    functionLinenumberEnd: 6703
    functionName: avifGetErrorForItemCategory
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 2
    functionsReached:
    - avifIsAlpha
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifGetErrorForItemCategory(avifItemCategory itemCategory)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6713,1
    - Dst: avifTile*::codec::getNextImage
      Src: /src/libavif/src/read.c:6722,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6722,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6723,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/read.c:6724,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6750,1
    - Dst: avifImageLimitedToFullAlpha
      Src: /src/libavif/src/read.c:6751,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6753,1
    - Dst: avifImageScaleWithLimit
      Src: /src/libavif/src/read.c:6760,1
    - Dst: avifGetErrorForItemCategory
      Src: /src/libavif/src/read.c:6766,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6788,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6792,1
    - Dst: avifDecoderDataAllocateImagePlanes
      Src: /src/libavif/src/read.c:6792,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6794,1
    - Dst: avifDecoderDataCopyTileToImage
      Src: /src/libavif/src/read.c:6794,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6796,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6797,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6801,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6808,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/read.c:6809,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:6813,1
    - Dst: avifIsAlpha
      Src: /src/libavif/src/read.c:6821,1
    - Dst: avifImageStealPlanes
      Src: /src/libavif/src/read.c:6822,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6824,1
    - Dst: avifImageStealPlanes
      Src: /src/libavif/src/read.c:6825,1
    - Dst: avifImageStealPlanes
      Src: /src/libavif/src/read.c:6827,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 3
    argNames:
    - decoder
    - nextImageIndex
    - info
    argTypes:
    - avifDecoder*
    - uint32_t
    - avifTileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6832
      start: 6705
    functionDepth: 3
    functionLinenumber: 6705
    functionLinenumberEnd: 6832
    functionName: avifDecoderDecodeTiles
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKRES
    - avifTile*::codec::getNextImage
    - avifDiagnosticsPrintf
    - avifDecoderDataCopyTileToImage
    - avifImageStealPlanes
    - AVIF_ASSERT_OR_RETURN
    - avifImageScaleWithLimit
    - avifDecoderDataAllocateImagePlanes
    - avifGetErrorForItemCategory
    - avifIsAlpha
    - avifImageFreePlanes
    - avifImageLimitedToFullAlpha
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderDecodeTiles(avifDecoder * decoder, uint32_t nextImageIndex,
      avifTileInfo * info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - avifDecoderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6835
    functionDepth: 0
    functionLinenumber: 6835
    functionLinenumberEnd: 6843
    functionName: avifDecoderDataFrameFullyDecoded
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDecoderDataFrameFullyDecoded(const avifDecoderData * data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6854,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6855,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6864,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6871,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6873,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/src/read.c:6878,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6879,1
    - Dst: avifImageCopyNoAlloc
      Src: /src/libavif/src/read.c:6880,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6884,1
    - Dst: avifDecoderDataAllocateImagePlanes
      Src: /src/libavif/src/read.c:6884,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6887,1
    - Dst: avifDecoderDataCopyTileToImage
      Src: /src/libavif/src/read.c:6887,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6893,1
    - Dst: avifImageApplyExpression
      Src: /src/libavif/src/read.c:6893,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - decoder
    - planes
    - dstImage
    - reconstructedInputImages
    argTypes:
    - avifDecoder*
    - avifPlanesFlag
    - avifImage*
    - avifImage*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6900
      start: 6849
    functionDepth: 4
    functionLinenumber: 6849
    functionLinenumberEnd: 6900
    functionName: avifDecoderApplySampleTransformForPlanesImpl
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifImageApplyExpression
    - avifImageCopyNoAlloc
    - AVIF_CHECKRES
    - avifDecoderDataCopyTileToImage
    - AVIF_ASSERT_OR_RETURN
    - avifDecoderDataAllocateImagePlanes
    - AVIF_CHECKERR
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifDecoderApplySampleTransformForPlanesImpl(const avifDecoder
      * decoder,\n                                                               avifPlanesFlag
      planes,\n                                                               avifImage
      * dstImage,\n                                                               avifImage
      * reconstructedInputImages[AVIF_SAMPLE_TRANSFORM_MAX_NUM_INPUT_IMAGE_ITEMS])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderApplySampleTransformForPlanesImpl
      Src: /src/libavif/src/read.c:6906,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:6909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - decoder
    - planes
    - dstImage
    argTypes:
    - avifDecoder*
    - avifPlanesFlag
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6913
      start: 6903
    functionDepth: 5
    functionLinenumber: 6903
    functionLinenumberEnd: 6913
    functionName: avifDecoderApplySampleTransformForPlanes
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - avifDecoderApplySampleTransformForPlanesImpl
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderApplySampleTransformForPlanes(const avifDecoder
      * decoder, avifPlanesFlag planes, avifImage * dstImage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6918,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6919,1
    - Dst: avifImageCreate
      Src: /src/libavif/src/read.c:6923,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:6924,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/read.c:6927,1
    - Dst: avifDecoderApplySampleTransform
      Src: /src/libavif/src/read.c:6929,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/read.c:6932,1
    - Dst: avifImageStealPlanes
      Src: /src/libavif/src/read.c:6934,1
    - Dst: avifImageDestroy
      Src: /src/libavif/src/read.c:6937,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6941,1
    - Dst: avifDecoderApplySampleTransformForPlanes
      Src: /src/libavif/src/read.c:6941,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6943,1
    - Dst: avifDecoderApplySampleTransformForPlanes
      Src: /src/libavif/src/read.c:6943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - decoder
    - dstImage
    argTypes:
    - avifDecoder*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6946
      start: 6915
    functionDepth: 6
    functionLinenumber: 6915
    functionLinenumberEnd: 6946
    functionName: avifDecoderApplySampleTransform
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifImageDestroy
    - avifDecoderApplySampleTransformForPlanes
    - AVIF_CHECKRES
    - avifImageCreate
    - avifImageAllocatePlanes
    - avifImageStealPlanes
    - avifDecoderApplySampleTransform
    - AVIF_ASSERT_OR_RETURN
    - AVIF_CHECKERR
    - avifImageFreePlanes
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderApplySampleTransform(const avifDecoder * decoder,
      avifImage * dstImage)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:6950,1
    - Dst: avifDecoderDataFrameFullyDecoded
      Src: /src/libavif/src/read.c:6961,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6968,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6975,1
    - Dst: avifDecoderCreateCodecs
      Src: /src/libavif/src/read.c:6975,1
    - Dst: avifDecoderPrepareTiles
      Src: /src/libavif/src/read.c:6982,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6984,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:6994,1
    - Dst: avifDecoderDecodeTiles
      Src: /src/libavif/src/read.c:6994,1
    - Dst: avifDecoderDataFrameFullyDecoded
      Src: /src/libavif/src/read.c:6997,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:6998,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:7003,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:7008,1
    - Dst: AVIF_ASSERT_OR_RETURN
      Src: /src/libavif/src/read.c:7013,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/read.c:7020,1
    - Dst: avifDecoderApplySampleTransform
      Src: /src/libavif/src/read.c:7020,1
    - Dst: avifDecoderNthImageTiming
      Src: /src/libavif/src/read.c:7032,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7038
      start: 6948
    functionDepth: 7
    functionLinenumber: 6948
    functionLinenumberEnd: 7038
    functionName: avifDecoderNextImage
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 109
    functionsReached:
    - avifDecoderPrepareTiles
    - AVIF_CHECKRES
    - avifDecoderCreateCodecs
    - avifDecoderNthImageTiming
    - avifDiagnosticsClearError
    - AVIF_ASSERT_OR_RETURN
    - avifDecoderApplySampleTransform
    - avifDecoderDataFrameFullyDecoded
    - avifDecoderDecodeTiles
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderNextImage(avifDecoder * decoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifSampleTableGetImageDelta
      Src: /src/libavif/src/read.c:7062,1
    - Dst: avifSampleTableGetImageDelta
      Src: /src/libavif/src/read.c:7064,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - decoder
    - frameIndex
    - outTiming
    argTypes:
    - avifDecoder*
    - uint32_t
    - avifImageTiming*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7074
      start: 7040
    functionDepth: 1
    functionLinenumber: 7040
    functionLinenumberEnd: 7074
    functionName: avifDecoderNthImageTiming
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 1
    functionsReached:
    - avifSampleTableGetImageDelta
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderNthImageTiming(const avifDecoder * decoder, uint32_t
      frameIndex, avifImageTiming * outTiming)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:7078,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/src/read.c:7093,1
    - Dst: avifDecoderDataFrameFullyDecoded
      Src: /src/libavif/src/read.c:7097,1
    - Dst: avifDecoderNearestKeyframe
      Src: /src/libavif/src/read.c:7107,1
    - Dst: avifDecoderDataResetCodec
      Src: /src/libavif/src/read.c:7114,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/src/read.c:7117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - decoder
    - frameIndex
    argTypes:
    - avifDecoder*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7127
      start: 7076
    functionDepth: 8
    functionLinenumber: 7076
    functionLinenumberEnd: 7127
    functionName: avifDecoderNthImage
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 4
    functionsReached:
    - avifDecoderNextImage
    - avifDecoderNearestKeyframe
    - avifDiagnosticsClearError
    - avifDecoderDataFrameFullyDecoded
    - avifDecoderDataResetCodec
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderNthImage(avifDecoder * decoder, uint32_t frameIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - decoder
    - frameIndex
    argTypes:
    - avifDecoder*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7147
      start: 7129
    functionDepth: 0
    functionLinenumber: 7129
    functionLinenumberEnd: 7147
    functionName: avifDecoderIsKeyframe
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifDecoderIsKeyframe(const avifDecoder * decoder, uint32_t
      frameIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderIsKeyframe
      Src: /src/libavif/src/read.c:7157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - decoder
    - frameIndex
    argTypes:
    - avifDecoder*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7162
      start: 7149
    functionDepth: 1
    functionLinenumber: 7149
    functionLinenumberEnd: 7162
    functionName: avifDecoderNearestKeyframe
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 10
    functionsReached:
    - avifDecoderIsKeyframe
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifDecoderNearestKeyframe(const avifDecoder * decoder, uint32_t
      frameIndex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_MIN
      Src: /src/libavif/src/read.c:7182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - decoder
    - info
    - image
    argTypes:
    - avifDecoder*
    - avifTileInfo*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7187
      start: 7165
    functionDepth: 0
    functionLinenumber: 7165
    functionLinenumberEnd: 7187
    functionName: avifGetDecodedRowCount
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifGetDecodedRowCount(const avifDecoder * decoder, const
      avifTileInfo * info, const avifImage * image)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifGetDecodedRowCount
      Src: /src/libavif/src/read.c:7204,1
    - Dst: floorf
      Src: /src/libavif/src/read.c:7207,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/read.c:7209,1
    - Dst: lround
      Src: /src/libavif/src/read.c:7209,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/read.c:7214,1
    - Dst: avifGetDecodedRowCount
      Src: /src/libavif/src/read.c:7218,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/read.c:7219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7222
      start: 7189
    functionDepth: 1
    functionLinenumber: 7189
    functionLinenumberEnd: 7222
    functionName: avifDecoderDecodedRowCount
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 4
    functionsReached:
    - AVIF_MIN
    - lround
    - floorf
    - AVIF_CHECKERR
    - avifGetDecodedRowCount
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifDecoderDecodedRowCount(const avifDecoder * decoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderParse
      Src: /src/libavif/src/read.c:7226,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/src/read.c:7230,1
    - Dst: avifImageCopy
      Src: /src/libavif/src/read.c:7240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - image
    argTypes:
    - avifDecoder*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7241
      start: 7224
    functionDepth: 12
    functionLinenumber: 7224
    functionLinenumberEnd: 7241
    functionName: avifDecoderRead
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 8
    functionsReached:
    - avifImageCopy
    - avifDecoderParse
    - avifDecoderNextImage
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderRead(avifDecoder * decoder, avifImage * image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:7245,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/src/read.c:7246,1
    - Dst: avifDecoderRead
      Src: /src/libavif/src/read.c:7250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - decoder
    - image
    - data
    - size
    argTypes:
    - avifDecoder*
    - avifImage*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7251
      start: 7243
    functionDepth: 13
    functionLinenumber: 7243
    functionLinenumberEnd: 7251
    functionName: avifDecoderReadMemory
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 168
    functionsReached:
    - avifDecoderRead
    - avifDecoderSetIOMemory
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderReadMemory(avifDecoder * decoder, avifImage *
      image, const uint8_t * data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/src/read.c:7255,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/src/read.c:7256,1
    - Dst: avifDecoderRead
      Src: /src/libavif/src/read.c:7260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - decoder
    - image
    - filename
    argTypes:
    - avifDecoder*
    - avifImage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7261
      start: 7253
    functionDepth: 13
    functionLinenumber: 7253
    functionLinenumberEnd: 7261
    functionName: avifDecoderReadFile
    functionSourceFile: /src/libavif/src/read.c
    functionUses: 64
    functionsReached:
    - avifDecoderSetIOFile
    - avifDecoderRead
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifDecoderReadFile(avifDecoder * decoder, avifImage * image,
      const char * filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - diag
    argTypes:
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: avifDiagnosticsClearError
    functionSourceFile: /src/libavif/src/diag.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifDiagnosticsClearError(avifDiagnostics * diag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __format__
      Src: /src/libavif/src/diag.c:16,1
    - Dst: va_start
      Src: /src/libavif/src/diag.c:30,1
    - Dst: vsnprintf
      Src: /src/libavif/src/diag.c:31,1
    - Dst: va_end
      Src: /src/libavif/src/diag.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - diag
    - format
    argTypes:
    - avifDiagnostics*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: avifDiagnosticsPrintf
    functionSourceFile: /src/libavif/src/diag.c
    functionUses: 76
    functionsReached:
    - __format__
    - va_end
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void avifDiagnosticsPrintf(avifDiagnostics * diag, const char * format,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_MIN
      Src: /src/libavif/src/exif.c:13,1
    - Dst: memcmp
      Src: /src/libavif/src/exif.c:15,1
    - Dst: memcmp
      Src: /src/libavif/src/exif.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - exif
    - exifSize
    - offset
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 21
    functionName: avifGetExifTiffHeaderOffset
    functionSourceFile: /src/libavif/src/exif.c
    functionUses: 6
    functionsReached:
    - memcmp
    - AVIF_MIN
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifGetExifTiffHeaderOffset(const uint8_t * exif, size_t
      exifSize, size_t * offset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/src/exif.c:27,1
    - Dst: avifROStreamStart
      Src: /src/libavif/src/exif.c:36,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/exif.c:40,1
    - Dst: avifROStreamReadU32Endianness
      Src: /src/libavif/src/exif.c:41,1
    - Dst: avifROStreamSetOffset
      Src: /src/libavif/src/exif.c:45,1
    - Dst: avifROStreamReadU16Endianness
      Src: /src/libavif/src/exif.c:47,1
    - Dst: avifROStreamReadU16Endianness
      Src: /src/libavif/src/exif.c:55,1
    - Dst: avifROStreamReadU16Endianness
      Src: /src/libavif/src/exif.c:55,1
    - Dst: avifROStreamReadU32Endianness
      Src: /src/libavif/src/exif.c:56,1
    - Dst: avifROStreamReadU16Endianness
      Src: /src/libavif/src/exif.c:57,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/exif.c:57,1
    - Dst: avifROStreamOffset
      Src: /src/libavif/src/exif.c:67,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - exif
    - exifSize
    - offset
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: avifGetExifOrientationOffset
    functionSourceFile: /src/libavif/src/exif.c
    functionUses: 0
    functionsReached:
    - avifROStreamSetOffset
    - avifGetExifTiffHeaderOffset
    - avifROStreamOffset
    - avifROStreamReadU16Endianness
    - avifROStreamReadU32Endianness
    - avifROStreamSkip
    - avifROStreamStart
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifGetExifOrientationOffset(const uint8_t * exif, size_t
      exifSize, size_t * offset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: avifGetExifOrientationOffset
      Src: /src/libavif/src/exif.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 143
    functionName: avifImageExtractExifOrientationToIrotImir
    functionSourceFile: /src/libavif/src/exif.c
    functionUses: 4
    functionsReached:
    - avifGetExifOrientationOffset
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageExtractExifOrientationToIrotImir(avifImage * image)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 190
    functionName: avifImageIrotImirToExifOrientation
    functionSourceFile: /src/libavif/src/exif.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t avifImageIrotImirToExifOrientation(const avifImage * image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/exif.c:195,1
    - Dst: avifRWDataSet
      Src: /src/libavif/src/exif.c:195,1
    - Dst: avifImageExtractExifOrientationToIrotImir
      Src: /src/libavif/src/exif.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - image
    - exif
    - exifSize
    argTypes:
    - avifImage*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: avifImageSetMetadataExif
    functionSourceFile: /src/libavif/src/exif.c
    functionUses: 16
    functionsReached:
    - AVIF_CHECKRES
    - avifImageExtractExifOrientationToIrotImir
    - avifRWDataSet
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageSetMetadataExif(avifImage * image, const uint8_t
      * exif, size_t exifSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - avifBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: avifBitsReadPos
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifBitsReadPos(const avifBits * bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bits
    - data
    - size
    argTypes:
    - avifBits*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: avifBitsInit
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBitsInit(avifBits * const bits, const uint8_t * const data,
      const size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bits
    - n
    argTypes:
    - avifBits*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: avifBitsRefill
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBitsRefill(avifBits * const bits, const uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRefill
      Src: /src/libavif/src/obu.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bits
    - n
    argTypes:
    - avifBits*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: avifBitsRead
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRefill
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifBitsRead(avifBits * const bits, const uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bits
    argTypes:
    - avifBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: avifBitsReadUleb128
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifBitsReadUleb128(avifBits * bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:127,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bits
    argTypes:
    - avifBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: avifBitsReadVLC
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifBitsReadVLC(avifBits * const bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:138,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bits
    - n
    argTypes:
    - avifBits*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: avifBitsReadRG
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifBitsReadRG(avifBits * const bits, const uint32_t n)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:171,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:172,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:178,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:181,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:185,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:186,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:187,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:189,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:194,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:196,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:197,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:198,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:202,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:203,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:205,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:206,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:212,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:218,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:220,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:221,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:222,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:226,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 234
    functionName: parseSequenceHeaderLevelIdxAndTier
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsReadVLC
    - avifBitsRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseSequenceHeaderLevelIdxAndTier(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:238,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:239,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:240,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:241,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:244,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: parseSequenceHeaderFrameMaxDimensions
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseSequenceHeaderFrameMaxDimensions(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:254,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:257,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:258,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:260,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:264,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:268,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:271,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:273,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: parseSequenceHeaderEnabledFeatures
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseSequenceHeaderEnabledFeatures(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:290,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:293,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:302,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:305,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:307,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:308,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:309,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:316,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:330,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:344,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:346,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:363,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 371
    functionName: parseAV1SequenceHeaderColorConfig
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsRead
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseAV1SequenceHeaderColorConfig(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - av2ChromaSamplePosition
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: av2ChromaSamplePositionToAv1ChromaSamplePosition
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifChromaSamplePosition
    signature: avifChromaSamplePosition av2ChromaSamplePositionToAv1ChromaSamplePosition(uint32_t
      av2ChromaSamplePosition)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:400,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 437
    functionName: parseAV2ChromaFormatBitdepth
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsReadVLC
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseAV2ChromaFormatBitdepth(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:442,1
    - Dst: parseSequenceHeaderProfile
      Src: /src/libavif/src/obu.c:442,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:443,1
    - Dst: parseSequenceHeaderLevelIdxAndTier
      Src: /src/libavif/src/obu.c:443,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:445,1
    - Dst: parseSequenceHeaderFrameMaxDimensions
      Src: /src/libavif/src/obu.c:445,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:446,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:447,1
    - Dst: parseSequenceHeaderEnabledFeatures
      Src: /src/libavif/src/obu.c:447,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:449,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:451,1
    - Dst: parseAV1SequenceHeaderColorConfig
      Src: /src/libavif/src/obu.c:451,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:453,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: parseAV1SequenceHeader
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - parseAV1SequenceHeaderColorConfig
    - parseSequenceHeaderEnabledFeatures
    - parseSequenceHeaderLevelIdxAndTier
    - parseSequenceHeaderProfile
    - avifBitsRead
    - AVIF_CHECK
    - parseSequenceHeaderFrameMaxDimensions
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseAV1SequenceHeader(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:464,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:469,1
    - Dst: parseSequenceHeaderProfile
      Src: /src/libavif/src/obu.c:469,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:470,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:472,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:473,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:476,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:478,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:482,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:483,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:484,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:485,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:487,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:488,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:489,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:490,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:491,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/obu.c:494,1
    - Dst: parseAV2ChromaFormatBitdepth
      Src: /src/libavif/src/obu.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 506
    functionName: parseAV2SequenceHeader
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - parseAV2ChromaFormatBitdepth
    - avifBitsReadVLC
    - parseSequenceHeaderProfile
    - avifBitsRead
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseAV2SequenceHeader(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:511,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:512,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:513,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:514,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:515,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:516,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:517,1
    - Dst: avifBitsReadRG
      Src: /src/libavif/src/obu.c:521,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:527,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:528,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:529,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:561,1
    - Dst: avifBitsReadVLC
      Src: /src/libavif/src/obu.c:567,1
    - Dst: av2ChromaSamplePositionToAv1ChromaSamplePosition
      Src: /src/libavif/src/obu.c:568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - bits
    - header
    argTypes:
    - avifBits*
    - avifSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 574
    functionName: parseAV2ContentInterpretation
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - avifBitsReadVLC
    - avifBitsReadRG
    - avifBitsRead
    - av2ChromaSamplePositionToAv1ChromaSamplePosition
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseAV2ContentInterpretation(avifBits * bits, avifSequenceHeader
      * header)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsInit
      Src: /src/libavif/src/obu.c:584,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:587,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:591,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:592,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:593,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:594,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:597,1
    - Dst: avifBitsReadUleb128
      Src: /src/libavif/src/obu.c:602,1
    - Dst: avifBitsReadPos
      Src: /src/libavif/src/obu.c:610,1
    - Dst: avifBitsInit
      Src: /src/libavif/src/obu.c:617,1
    - Dst: parseAV1SequenceHeader
      Src: /src/libavif/src/obu.c:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - header
    - sample
    argTypes:
    - avifSequenceHeader*
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 626
    functionName: av1SequenceHeaderParse
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - parseAV1SequenceHeader
    - avifBitsReadPos
    - avifBitsRead
    - avifBitsInit
    - avifBitsReadUleb128
    linkageType: ''
    returnType: avifBool
    signature: avifBool av1SequenceHeaderParse(avifSequenceHeader * header, const
      avifROData * sample)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifBitsInit
      Src: /src/libavif/src/obu.c:637,1
    - Dst: avifBitsReadUleb128
      Src: /src/libavif/src/obu.c:639,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:642,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:643,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:644,1
    - Dst: avifBitsRead
      Src: /src/libavif/src/obu.c:647,1
    - Dst: avifBitsReadPos
      Src: /src/libavif/src/obu.c:659,1
    - Dst: avifBitsInit
      Src: /src/libavif/src/obu.c:670,1
    - Dst: parseAV2SequenceHeader
      Src: /src/libavif/src/obu.c:671,1
    - Dst: avifBitsInit
      Src: /src/libavif/src/obu.c:680,1
    - Dst: parseAV2ContentInterpretation
      Src: /src/libavif/src/obu.c:681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - header
    - sample
    argTypes:
    - avifSequenceHeader*
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 629
    functionDepth: 5
    functionLinenumber: 629
    functionLinenumberEnd: 690
    functionName: av2SequenceHeaderParse
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 0
    functionsReached:
    - parseAV2ContentInterpretation
    - parseAV2SequenceHeader
    - avifBitsReadPos
    - avifBitsRead
    - avifBitsInit
    - avifBitsReadUleb128
    linkageType: ''
    returnType: avifBool
    signature: avifBool av2SequenceHeaderParse(avifSequenceHeader * header, const
      avifROData * sample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: av1SequenceHeaderParse
      Src: /src/libavif/src/obu.c:697,1
    - Dst: av2SequenceHeaderParse
      Src: /src/libavif/src/obu.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - header
    - sample
    - codecType
    argTypes:
    - avifSequenceHeader*
    - avifROData*
    - avifCodecType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 705
    functionName: avifSequenceHeaderParse
    functionSourceFile: /src/libavif/src/obu.c
    functionUses: 2
    functionsReached:
    - av2SequenceHeaderParse
    - av1SequenceHeaderParse
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifSequenceHeaderParse(avifSequenceHeader * header, const
      avifROData * sample, avifCodecType codecType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: DAV1D_ERR
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAV1D_ERR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - cookie
    argTypes:
    - uint8_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: avifDav1dFreeCallback
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifDav1dFreeCallback(const uint8_t * buf, void * cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libavif/src/codec_dav1d.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cookie
    - format
    - ap
    argTypes:
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: avifDav1dLogCallback
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void avifDav1dLogCallback(void * cookie, const char * format, va_list
      ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dav1d_picture_unref
      Src: /src/libavif/src/codec_dav1d.c:50,1
    - Dst: dav1d_close
      Src: /src/libavif/src/codec_dav1d.c:53,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_dav1d.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avifCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: dav1dCodecDestroyInternal
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached:
    - dav1d_close
    - dav1d_picture_unref
    - avifFree
    linkageType: ''
    returnType: void
    signature: void dav1dCodecDestroyInternal(avifCodec * codec)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dav1d_default_settings
      Src: /src/libavif/src/codec_dav1d.c:66,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_dav1d.c:70,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/codec_dav1d.c:73,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/codec_dav1d.c:79,1
    - Dst: dav1d_open
      Src: /src/libavif/src/codec_dav1d.c:85,1
    - Dst: memset
      Src: /src/libavif/src/codec_dav1d.c:92,1
    - Dst: dav1d_data_wrap
      Src: /src/libavif/src/codec_dav1d.c:95,1
    - Dst: dav1d_send_data
      Src: /src/libavif/src/codec_dav1d.c:102,1
    - Dst: DAV1D_ERR
      Src: /src/libavif/src/codec_dav1d.c:103,1
    - Dst: dav1d_data_unref
      Src: /src/libavif/src/codec_dav1d.c:104,1
    - Dst: dav1d_get_picture
      Src: /src/libavif/src/codec_dav1d.c:109,1
    - Dst: DAV1D_ERR
      Src: /src/libavif/src/codec_dav1d.c:110,1
    - Dst: dav1d_data_unref
      Src: /src/libavif/src/codec_dav1d.c:119,1
    - Dst: dav1d_picture_unref
      Src: /src/libavif/src/codec_dav1d.c:126,1
    - Dst: dav1d_data_unref
      Src: /src/libavif/src/codec_dav1d.c:134,1
    - Dst: memset
      Src: /src/libavif/src/codec_dav1d.c:143,1
    - Dst: dav1d_get_picture
      Src: /src/libavif/src/codec_dav1d.c:145,1
    - Dst: DAV1D_ERR
      Src: /src/libavif/src/codec_dav1d.c:147,1
    - Dst: dav1d_picture_unref
      Src: /src/libavif/src/codec_dav1d.c:149,1
    - Dst: dav1d_picture_unref
      Src: /src/libavif/src/codec_dav1d.c:154,1
    - Dst: dav1d_picture_unref
      Src: /src/libavif/src/codec_dav1d.c:159,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_dav1d.c:196,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_dav1d.c:212,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/src/codec_dav1d.c:233,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 5
    argNames:
    - codec
    - sample
    - alpha
    - isLimitedRangeAlpha
    - image
    argTypes:
    - struct avifCodec*
    - avifDecodeSample*
    - avifBool
    - avifBool*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 240
    functionName: dav1dCodecGetNextImage
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached:
    - dav1d_open
    - dav1d_default_settings
    - AVIF_MIN
    - dav1d_data_wrap
    - DAV1D_ERR
    - dav1d_picture_unref
    - dav1d_get_picture
    - AVIF_CLAMP
    - memset
    - dav1d_data_unref
    - avifImageFreePlanes
    - dav1d_send_data
    linkageType: ''
    returnType: avifBool
    signature: "avifBool dav1dCodecGetNextImage(struct avifCodec * codec,\n                                       const
      avifDecodeSample * sample,\n                                       avifBool
      alpha,\n                                       avifBool * isLimitedRangeAlpha,\n
      \                                      avifImage * image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav1d_version
      Src: /src/libavif/src/codec_dav1d.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: avifCodecVersionDav1d
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached:
    - dav1d_version
    linkageType: ''
    returnType: char
    signature: char * avifCodecVersionDav1d(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_dav1d.c:249,1
    - Dst: memset
      Src: /src/libavif/src/codec_dav1d.c:253,1
    - Dst: avifAlloc
      Src: /src/libavif/src/codec_dav1d.c:257,1
    - Dst: avifFree
      Src: /src/libavif/src/codec_dav1d.c:259,1
    - Dst: memset
      Src: /src/libavif/src/codec_dav1d.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: avifCodecCreateDav1d
    functionSourceFile: /src/libavif/src/codec_dav1d.c
    functionUses: 0
    functionsReached:
    - memset
    - avifFree
    - avifAlloc
    linkageType: ''
    returnType: avifCodec
    signature: avifCodec * avifCodecCreateDav1d(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - params
    argTypes:
    - avifAlphaParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 35
    functionName: avifFillAlpha
    functionSourceFile: /src/libavif/src/alpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifFillAlpha(const avifAlphaParams * params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/alpha.c:96,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/alpha.c:116,1
    - Dst: assert
      Src: /src/libavif/src/alpha.c:127,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/alpha.c:139,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 1
    argNames:
    - params
    argTypes:
    - avifAlphaParams*
    assertStmts:
    - condition: (params->dstDepth > 8)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/libavif/src/alpha.c
    constantsTouched: []
    func_position:
      end: 149
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 149
    functionName: avifReformatAlpha
    functionSourceFile: /src/libavif/src/alpha.c
    functionUses: 0
    functionsReached:
    - assert
    - AVIF_CLAMP
    linkageType: ''
    returnType: void
    signature: void avifReformatAlpha(const avifAlphaParams * params)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/alpha.c:159,1
    - Dst: avifRGBImagePremultiplyAlphaLibYUV
      Src: /src/libavif/src/alpha.c:163,1
    - Dst: assert
      Src: /src/libavif/src/alpha.c:168,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:189,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:190,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:191,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:209,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:210,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:211,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:230,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:246,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:269,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:270,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:271,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:289,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:290,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:291,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:308,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:324,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 155
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts:
    - condition: (rgb->depth >= 8 && rgb->depth <= 16)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/libavif/src/alpha.c
    constantsTouched: []
    func_position:
      end: 336
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 336
    functionName: avifRGBImagePremultiplyAlpha
    functionSourceFile: /src/libavif/src/alpha.c
    functionUses: 9
    functionsReached:
    - avifRoundf
    - avifRGBFormatHasAlpha
    - avifRGBImagePremultiplyAlphaLibYUV
    - assert
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImagePremultiplyAlpha(avifRGBImage * rgb)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/alpha.c:346,1
    - Dst: avifRGBImageUnpremultiplyAlphaLibYUV
      Src: /src/libavif/src/alpha.c:350,1
    - Dst: assert
      Src: /src/libavif/src/alpha.c:355,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:375,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:376,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:377,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:378,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:379,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:380,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:398,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:399,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:400,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:401,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:402,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:403,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:421,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:422,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:438,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:439,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:461,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:462,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:463,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:464,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:465,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:466,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:484,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:485,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:486,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:487,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:488,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:489,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:505,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:506,1
    - Dst: avifRoundf
      Src: /src/libavif/src/alpha.c:522,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/alpha.c:523,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 155
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts:
    - condition: (rgb->depth >= 8 && rgb->depth <= 16)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/libavif/src/alpha.c
    constantsTouched: []
    func_position:
      end: 535
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 535
    functionName: avifRGBImageUnpremultiplyAlpha
    functionSourceFile: /src/libavif/src/alpha.c
    functionUses: 1
    functionsReached:
    - AVIF_MIN
    - avifRGBFormatHasAlpha
    - assert
    - avifRGBImageUnpremultiplyAlphaLibYUV
    - avifRoundf
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageUnpremultiplyAlpha(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: avifROStreamCurrent
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * avifROStreamCurrent(avifROStream * stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - raw
    - diag
    - diagContext
    argTypes:
    - avifROStream*
    - avifROData*
    - avifDiagnostics*
    - char*
    assertStmts:
    - condition: (!stream->diag || stream->diagContext)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: avifROStreamStart
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void avifROStreamStart(avifROStream * stream, avifROData * raw, avifDiagnostics
      * diag, const char * diagContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - byteCount
    argTypes:
    - avifROStream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: avifROStreamHasBytesLeft
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamHasBytesLeft(const avifROStream * stream, size_t
      byteCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: avifROStreamRemainingBytes
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avifROStreamRemainingBytes(const avifROStream * stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - avifROStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: avifROStreamOffset
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avifROStreamOffset(const avifROStream * stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - avifROStream*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: avifROStreamSetOffset
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void avifROStreamSetOffset(avifROStream * stream, size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:57,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/stream.c:58,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - byteCount
    argTypes:
    - avifROStream*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: avifROStreamSkip
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 25
    functionsReached:
    - avifROStreamHasBytesLeft
    - avifDiagnosticsPrintf
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamSkip(avifROStream * stream, size_t byteCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:68,1
    - Dst: avifROStreamHasBytesLeft
      Src: /src/libavif/src/stream.c:69,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:70,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - data
    - size
    argTypes:
    - avifROStream*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: avifROStreamRead
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 16
    functionsReached:
    - avifROStreamHasBytesLeft
    - memcpy
    - avifDiagnosticsPrintf
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamRead(avifROStream * stream, uint8_t * data, size_t
      size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:81,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:87,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:87,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:91,1
    - Dst: avifROStreamReadU16
      Src: /src/libavif/src/stream.c:91,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:95,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/stream.c:95,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:99,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/stream.c:99,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - stream
    - v
    - factor
    argTypes:
    - avifROStream*
    - uint64_t*
    - uint64_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: avifROStreamReadUX8
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 1
    functionsReached:
    - avifROStreamReadU16
    - avifDiagnosticsPrintf
    - assert
    - avifROStreamReadU32
    - avifROStreamRead
    - AVIF_CHECK
    - avifROStreamReadU64
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadUX8(avifROStream * stream, uint64_t * v, uint64_t
      factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:111,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:112,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:112,1
    - Dst: avifNTOHS
      Src: /src/libavif/src/stream.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifROStream*
    - uint16_t*
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: avifROStreamReadU16
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 16
    functionsReached:
    - avifNTOHS
    - avifROStreamRead
    - AVIF_CHECK
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadU16(avifROStream * stream, uint16_t * v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:119,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:120,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:120,1
    - Dst: avifCTOHS
      Src: /src/libavif/src/stream.c:121,1
    - Dst: avifNTOHS
      Src: /src/libavif/src/stream.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - v
    - littleEndian
    argTypes:
    - avifROStream*
    - uint16_t*
    - avifBool
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: avifROStreamReadU16Endianness
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 1
    functionsReached:
    - avifCTOHS
    - avifNTOHS
    - assert
    - avifROStreamRead
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadU16Endianness(avifROStream * stream, uint16_t
      * v, avifBool littleEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:127,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:128,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:128,1
    - Dst: avifNTOHL
      Src: /src/libavif/src/stream.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifROStream*
    - uint32_t*
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: avifROStreamReadU32
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 31
    functionsReached:
    - avifNTOHL
    - avifROStreamRead
    - AVIF_CHECK
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadU32(avifROStream * stream, uint32_t * v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:135,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:136,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:136,1
    - Dst: avifCTOHL
      Src: /src/libavif/src/stream.c:137,1
    - Dst: avifNTOHL
      Src: /src/libavif/src/stream.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - v
    - littleEndian
    argTypes:
    - avifROStream*
    - uint32_t*
    - avifBool
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: avifROStreamReadU32Endianness
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 1
    functionsReached:
    - assert
    - avifCTOHL
    - avifNTOHL
    - avifROStreamRead
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadU32Endianness(avifROStream * stream, uint32_t
      * v, avifBool littleEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:143,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:144,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:144,1
    - Dst: avifNTOH64
      Src: /src/libavif/src/stream.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifROStream*
    - uint64_t*
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: avifROStreamReadU64
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - avifNTOH64
    - avifROStreamRead
    - AVIF_CHECK
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadU64(avifROStream * stream, uint64_t * v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:152,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/stream.c:153,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:161,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/stream.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - bitCount
    argTypes:
    - avifROStream*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte < 8)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: avifROStreamSkipBits
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 13
    functionsReached:
    - AVIF_CHECK
    - avifROStreamSkip
    - AVIF_MIN
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamSkipBits(avifROStream * stream, size_t bitCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:168,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:170,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/stream.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - v
    - bitCount
    argTypes:
    - avifROStream*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: avifROStreamReadBitsU8
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 14
    functionsReached:
    - avifROStreamReadBitsU32
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadBitsU8(avifROStream * stream, uint8_t * v,
      size_t bitCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:177,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:179,1
    - Dst: avifROStreamReadBitsU32
      Src: /src/libavif/src/stream.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - v
    - bitCount
    argTypes:
    - avifROStream*
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: avifROStreamReadBitsU16
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 1
    functionsReached:
    - avifROStreamReadBitsU32
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadBitsU16(avifROStream * stream, uint16_t *
      v, size_t bitCount)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:186,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:190,1
    - Dst: avifROStreamSkip
      Src: /src/libavif/src/stream.c:190,1
    - Dst: assert
      Src: /src/libavif/src/stream.c:192,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/stream.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - stream
    - v
    - bitCount
    argTypes:
    - avifROStream*
    - uint32_t*
    - size_t
    assertStmts:
    - condition: (stream->offset > 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: avifROStreamReadBitsU32
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 16
    functionsReached:
    - AVIF_MIN
    - avifROStreamSkip
    - AVIF_CHECK
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadBitsU32(avifROStream * stream, uint32_t *
      v, size_t bitCount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:216,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/stream.c:219,1
    - Dst: avifROStreamCurrent
      Src: /src/libavif/src/stream.c:220,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:229,1
    - Dst: strlen
      Src: /src/libavif/src/stream.c:234,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - output
    - outputSize
    argTypes:
    - avifROStream*
    - char*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: avifROStreamReadString
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 8
    functionsReached:
    - strlen
    - avifDiagnosticsPrintf
    - assert
    - avifROStreamCurrent
    - memcpy
    - avifROStreamRemainingBytes
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadString(avifROStream * stream, char * output,
      size_t outputSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:254,1
    - Dst: avifROStreamReadU32
      Src: /src/libavif/src/stream.c:254,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:255,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:255,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:259,1
    - Dst: avifROStreamReadU64
      Src: /src/libavif/src/stream.c:259,1
    - Dst: memcmp
      Src: /src/libavif/src/stream.c:262,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:263,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:263,1
    - Dst: memset
      Src: /src/libavif/src/stream.c:265,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:275,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - stream
    - header
    - topLevel
    argTypes:
    - avifROStream*
    - avifBoxHeader*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 295
    functionName: avifROStreamReadBoxHeaderPartial
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 2
    functionsReached:
    - memcmp
    - avifDiagnosticsPrintf
    - avifROStreamReadU32
    - AVIF_CHECK
    - avifROStreamRead
    - memset
    - avifROStreamReadU64
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadBoxHeaderPartial(avifROStream * stream, avifBoxHeader
      * header, avifBool topLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:299,1
    - Dst: avifROStreamReadBoxHeaderPartial
      Src: /src/libavif/src/stream.c:299,1
    - Dst: avifROStreamRemainingBytes
      Src: /src/libavif/src/stream.c:300,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - header
    argTypes:
    - avifROStream*
    - avifBoxHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: avifROStreamReadBoxHeader
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 18
    functionsReached:
    - avifROStreamRemainingBytes
    - avifROStreamReadBoxHeaderPartial
    - avifDiagnosticsPrintf
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadBoxHeader(avifROStream * stream, avifBoxHeader
      * header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:310,1
    - Dst: avifROStreamRead
      Src: /src/libavif/src/stream.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - version
    - flags
    argTypes:
    - avifROStream*
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: avifROStreamReadVersionAndFlags
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 15
    functionsReached:
    - avifROStreamRead
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadVersionAndFlags(avifROStream * stream, uint8_t
      * version, uint32_t * flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/stream.c:323,1
    - Dst: avifROStreamReadVersionAndFlags
      Src: /src/libavif/src/stream.c:323,1
    - Dst: avifDiagnosticsPrintf
      Src: /src/libavif/src/stream.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - enforcedVersion
    - flags
    argTypes:
    - avifROStream*
    - uint8_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: avifROStreamReadAndEnforceVersion
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 10
    functionsReached:
    - avifDiagnosticsPrintf
    - avifROStreamReadVersionAndFlags
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifROStreamReadAndEnforceVersion(avifROStream * stream, uint8_t
      enforcedVersion, uint32_t * flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/stream.c:337,1
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/stream.c:345,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/src/stream.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - avifRWStream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: makeRoom
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifRWDataRealloc
    linkageType: ''
    returnType: avifResult
    signature: avifResult makeRoom(avifRWStream * stream, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - raw
    argTypes:
    - avifRWStream*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: avifRWStreamStart
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifRWStreamStart(avifRWStream * stream, avifRWData * raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - avifRWStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: avifRWStreamOffset
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avifRWStreamOffset(const avifRWStream * stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - avifRWStream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: avifRWStreamSetOffset
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifRWStreamSetOffset(avifRWStream * stream, size_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/src/stream.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - avifRWStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: avifRWStreamFinishWrite
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - avifRWDataFree
    linkageType: ''
    returnType: void
    signature: void avifRWStreamFinishWrite(avifRWStream * stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:383,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:385,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:385,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - data
    - size
    argTypes:
    - avifRWStream*
    - void*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: avifRWStreamWrite
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 15
    functionsReached:
    - AVIF_CHECKRES
    - memcpy
    - makeRoom
    - assert
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWrite(avifRWStream * stream, const void * data,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamWrite
      Src: /src/libavif/src/stream.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - chars
    - size
    argTypes:
    - avifRWStream*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: avifRWStreamWriteChars
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 11
    functionsReached:
    - avifRWStreamWrite
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteChars(avifRWStream * stream, const char
      * chars, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:399,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:408,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:408,1
    - Dst: memset
      Src: /src/libavif/src/stream.c:409,1
    - Dst: avifHTONL
      Src: /src/libavif/src/stream.c:410,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:411,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - stream
    - type
    - contentSize
    - version
    - flags
    - marker
    argTypes:
    - avifRWStream*
    - char*
    - size_t
    - int
    - uint32_t
    - avifBoxMarker*
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 422
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 422
    functionName: avifRWStreamWriteFullBox
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - AVIF_CHECKRES
    - assert
    - memcpy
    - makeRoom
    - memset
    - avifHTONL
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteFullBox(avifRWStream * stream, const char
      * type, size_t contentSize, int version, uint32_t flags, avifBoxMarker * marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRWStreamWriteFullBox
      Src: /src/libavif/src/stream.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - type
    - contentSize
    - marker
    argTypes:
    - avifRWStream*
    - char*
    - size_t
    - avifBoxMarker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: avifRWStreamWriteBox
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 16
    functionsReached:
    - avifRWStreamWriteFullBox
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteBox(avifRWStream * stream, const char *
      type, size_t contentSize, avifBoxMarker * marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:431,1
    - Dst: avifHTONL
      Src: /src/libavif/src/stream.c:432,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - marker
    argTypes:
    - avifRWStream*
    - avifBoxMarker
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: avifRWStreamFinishBox
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 18
    functionsReached:
    - avifHTONL
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void avifRWStreamFinishBox(avifRWStream * stream, avifBoxMarker marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:438,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:439,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifRWStream*
    - uint8_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: avifRWStreamWriteU8
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - AVIF_CHECKRES
    - makeRoom
    - assert
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteU8(avifRWStream * stream, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:447,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:449,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:449,1
    - Dst: avifHTONS
      Src: /src/libavif/src/stream.c:450,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifRWStream*
    - uint16_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: avifRWStreamWriteU16
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 9
    functionsReached:
    - AVIF_CHECKRES
    - assert
    - memcpy
    - makeRoom
    - avifHTONS
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteU16(avifRWStream * stream, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:458,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:460,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:460,1
    - Dst: avifHTONL
      Src: /src/libavif/src/stream.c:461,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifRWStream*
    - uint32_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 465
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 465
    functionName: avifRWStreamWriteU32
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 14
    functionsReached:
    - AVIF_CHECKRES
    - assert
    - memcpy
    - makeRoom
    - avifHTONL
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteU32(avifRWStream * stream, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:469,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:471,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:471,1
    - Dst: avifHTON64
      Src: /src/libavif/src/stream.c:472,1
    - Dst: memcpy
      Src: /src/libavif/src/stream.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - v
    argTypes:
    - avifRWStream*
    - uint64_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 476
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 476
    functionName: avifRWStreamWriteU64
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 5
    functionsReached:
    - AVIF_CHECKRES
    - assert
    - memcpy
    - avifHTON64
    - makeRoom
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteU64(avifRWStream * stream, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/stream.c:480,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:481,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:481,1
    - Dst: memset
      Src: /src/libavif/src/stream.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - byteCount
    argTypes:
    - avifRWStream*
    - size_t
    assertStmts:
    - condition: (stream->numUsedBitsInPartialByte == 0)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: avifRWStreamWriteZeros
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 6
    functionsReached:
    - AVIF_CHECKRES
    - makeRoom
    - memset
    - assert
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteZeros(avifRWStream * stream, size_t byteCount)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/stream.c:489,1
    - Dst: AVIF_CHECKRES
      Src: /src/libavif/src/stream.c:492,1
    - Dst: makeRoom
      Src: /src/libavif/src/stream.c:492,1
    - Dst: assert
      Src: /src/libavif/src/stream.c:496,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/stream.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - stream
    - v
    - bitCount
    argTypes:
    - avifRWStream*
    - uint32_t
    - size_t
    assertStmts:
    - condition: (stream->offset > 0)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/libavif/src/stream.c
    constantsTouched: []
    func_position:
      end: 516
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 516
    functionName: avifRWStreamWriteBits
    functionSourceFile: /src/libavif/src/stream.c
    functionUses: 19
    functionsReached:
    - AVIF_MIN
    - AVIF_CHECKRES
    - assert
    - makeRoom
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRWStreamWriteBits(avifRWStream * stream, uint32_t v,
      size_t bitCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - val
    - count
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: avifMemset16
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * avifMemset16(void * dest, int val, size_t count)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:34,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:36,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:39,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:42,1
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/src/reformat.c:45,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 2
    argNames:
    - rgb
    - info
    argTypes:
    - avifRGBImage*
    - avifRGBColorSpaceInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 114
    functionName: avifGetRGBColorSpaceInfo
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 14
    functionsReached:
    - AVIF_CHECK
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGetRGBColorSpaceInfo(const avifRGBImage * rgb, avifRGBColorSpaceInfo
      * info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:118,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:119,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:120,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/reformat.c:142,1
    - Dst: avifCalcYUVCoefficients
      Src: /src/libavif/src/reformat.c:143,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 2
    argNames:
    - image
    - info
    argTypes:
    - avifImage*
    - avifYUVColorSpaceInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: avifGetYUVColorSpaceInfo
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifCalcYUVCoefficients
    - avifGetPixelFormatInfo
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGetYUVColorSpaceInfo(const avifImage * image, avifYUVColorSpaceInfo
      * info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:169,1
    - Dst: avifGetRGBColorSpaceInfo
      Src: /src/libavif/src/reformat.c:169,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:170,1
    - Dst: avifGetYUVColorSpaceInfo
      Src: /src/libavif/src/reformat.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: avifPrepareReformatState
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifGetRGBColorSpaceInfo
    - avifGetYUVColorSpaceInfo
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPrepareReformatState(const avifImage * image, const avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:196,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - v
    argTypes:
    - avifYUVColorSpaceInfo*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: avifYUVColorSpaceInfoYToUNorm
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_CLAMP
    - avifRoundf
    linkageType: ''
    returnType: int
    signature: int avifYUVColorSpaceInfoYToUNorm(avifYUVColorSpaceInfo * info, float
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/reformat.c:206,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:210,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:212,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - info
    - v
    argTypes:
    - avifYUVColorSpaceInfo*
    - float
    assertStmts:
    - condition: "((info->mode != AVIF_REFORMAT_MODE_YCGCO && info->mode != AVIF_REFORMAT_MODE_YCGCO_RE
        && info->mode != AVIF_REFORMAT_MODE_YCGCO_RO) ||\n           (info->range
        == AVIF_RANGE_FULL))"
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libavif/src/reformat.c
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: avifYUVColorSpaceInfoUVToUNorm
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_CLAMP
    - avifRoundf
    - assert
    linkageType: ''
    returnType: int
    signature: int avifYUVColorSpaceInfoUVToUNorm(avifYUVColorSpaceInfo * info, float
      v)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: avifPrepareReformatState
      Src: /src/libavif/src/reformat.c:225,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:233,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/src/reformat.c:234,1
    - Dst: avifRGBFormatIsGray
      Src: /src/libavif/src/reformat.c:248,1
    - Dst: avifImageRGBToYUVLibSharpYUV
      Src: /src/libavif/src/reformat.c:254,1
    - Dst: avifImageRGBToYUVLibYUV
      Src: /src/libavif/src/reformat.c:263,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:350,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:351,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:352,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:370,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:370,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:371,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:371,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:372,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:372,1
    - Dst: avifYUVColorSpaceInfoYToUNorm
      Src: /src/libavif/src/reformat.c:388,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:392,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:394,1
    - Dst: avifYUVColorSpaceInfoYToUNorm
      Src: /src/libavif/src/reformat.c:397,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:400,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:401,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:431,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:433,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:435,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:436,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:457,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:459,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:461,1
    - Dst: avifYUVColorSpaceInfoUVToUNorm
      Src: /src/libavif/src/reformat.c:462,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:504,1
    - Dst: avifYUVColorSpaceInfoYToUNorm
      Src: /src/libavif/src/reformat.c:508,1
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/src/reformat.c:519,1
    - Dst: avifMemset16
      Src: /src/libavif/src/reformat.c:526,1
    - Dst: memset
      Src: /src/libavif/src/reformat.c:528,1
    - Dst: avifMemset16
      Src: /src/libavif/src/reformat.c:535,1
    - Dst: memset
      Src: /src/libavif/src/reformat.c:537,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:553,1
    - Dst: avifReformatAlpha
      Src: /src/libavif/src/reformat.c:560,1
    - Dst: avifFillAlpha
      Src: /src/libavif/src/reformat.c:564,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 233
    argCount: 2
    argNames:
    - image
    - rgb
    argTypes:
    - avifImage*
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 568
    functionName: avifImageRGBToYUV
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 30
    functionsReached:
    - avifRGBFormatIsGray
    - avifYUVColorSpaceInfoUVToUNorm
    - avifGetPixelFormatInfo
    - avifReformatAlpha
    - AVIF_MIN
    - AVIF_CLAMP
    - avifImageAllocatePlanes
    - avifRGBFormatHasAlpha
    - avifFillAlpha
    - avifImageRGBToYUVLibSharpYUV
    - avifPrepareReformatState
    - avifRoundf
    - memset
    - avifImageRGBToYUVLibYUV
    - avifMemset16
    - avifYUVColorSpaceInfoYToUNorm
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageRGBToYUV(avifImage * image, const avifRGBImage
      * rgb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/reformat.c:576,1
    - Dst: avifAlloc
      Src: /src/libavif/src/reformat.c:577,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/src/reformat.c:578,1
    - Dst: avifAlloc
      Src: /src/libavif/src/reformat.c:588,1
    - Dst: avifFree
      Src: /src/libavif/src/reformat.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - unormFloatTableY
    - unormFloatTableUV
    - depth
    - state
    argTypes:
    - float**
    - float**
    - uint32_t
    - avifReformatState*
    assertStmts:
    - condition: (unormFloatTableY)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/libavif/src/reformat.c
    constantsTouched: []
    func_position:
      end: 600
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 600
    functionName: avifCreateYUVToRGBLookUpTables
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFree
    - avifAlloc
    - AVIF_CHECK
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCreateYUVToRGBLookUpTables(float ** unormFloatTableY,
      float ** unormFloatTableUV, uint32_t depth, const avifReformatState * state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifFree
      Src: /src/libavif/src/reformat.c:607,1
    - Dst: avifFree
      Src: /src/libavif/src/reformat.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - unormFloatTableY
    - unormFloatTableUV
    argTypes:
    - float**
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 614
    functionName: avifFreeYUVToRGBLookUpTables
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFree
    linkageType: ''
    returnType: void
    signature: void avifFreeYUVToRGBLookUpTables(float ** unormFloatTableY, float
      ** unormFloatTableUV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - R
    - ','
    - G
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 617
    functionName: RGB565
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB565(R, G, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RGB565
      Src: /src/libavif/src/reformat.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - format
    - R
    - G
    - B
    - ptrR
    - ptrG
    - ptrB
    argTypes:
    - avifRGBFormat
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 630
    functionName: avifStoreRGB8Pixel
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - RGB565
    linkageType: ''
    returnType: void
    signature: void avifStoreRGB8Pixel(avifRGBFormat format, uint8_t R, uint8_t G,
      uint8_t B, uint8_t * ptrR, uint8_t * ptrG, uint8_t * ptrB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptrR
    - R
    - G
    - B
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: avifGetRGB565
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifGetRGB565(const uint8_t * ptrR, uint8_t * R, uint8_t * G,
      uint8_t * B)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:658,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:658,1
    - Dst: avifRGBFormatIsGray
      Src: /src/libavif/src/reformat.c:674,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:681,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:709,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:724,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:725,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:816,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:817,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:858,1
    - Dst: avifRoundf
      Src: /src/libavif/src/reformat.c:859,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:861,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:862,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:863,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:880,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:881,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:882,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:886,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:895,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:898,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:929,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:930,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:931,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:938,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:946,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:971,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 191
    argCount: 4
    argNames:
    - image
    - rgb
    - state
    - alphaMultiplyMode
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    - avifAlphaMultiplyMode
    assertStmts:
    - condition: ((alphaMultiplyMode == AVIF_ALPHA_MULTIPLY_MODE_NO_OP) || aPlane)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/libavif/src/reformat.c
    constantsTouched: []
    func_position:
      end: 973
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 973
    functionName: avifImageYUVAnyToRGBAnySlow
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifRGBFormatIsGray
    - AVIF_MIN
    - avifFreeYUVToRGBLookUpTables
    - AVIF_CLAMP
    - assert
    - avifCreateYUVToRGBLookUpTables
    - avifRoundf
    - AVIF_CHECKERR
    - avifStoreRGB8Pixel
    linkageType: ''
    returnType: avifResult
    signature: "avifResult avifImageYUVAnyToRGBAnySlow(const avifImage * image,\n
      \                                             avifRGBImage * rgb,\n                                              const
      avifReformatState * state,\n                                              avifAlphaMultiplyMode
      alphaMultiplyMode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:983,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:983,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1000,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1001,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1002,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1012,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1013,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1014,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1027
    functionName: avifImageYUV16ToRGB16Color
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFreeYUVToRGBLookUpTables
    - AVIF_MIN
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV16ToRGB16Color(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1036,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1036,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1048,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1058,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1059,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1060,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1073
    functionName: avifImageYUV16ToRGB16Mono
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFreeYUVToRGBLookUpTables
    - AVIF_MIN
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV16ToRGB16Mono(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1083,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1083,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1100,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1101,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1102,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1112,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1113,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1114,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:1116,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1131
    functionName: avifImageYUV16ToRGB8Color
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - avifFreeYUVToRGBLookUpTables
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    - avifStoreRGB8Pixel
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV16ToRGB8Color(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1140,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1140,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/reformat.c:1152,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1162,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1163,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1164,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:1166,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1181
    functionName: avifImageYUV16ToRGB8Mono
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - avifFreeYUVToRGBLookUpTables
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    - avifStoreRGB8Pixel
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV16ToRGB8Mono(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1191,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1191,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1214,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1215,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1216,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1229
    functionName: avifImageYUV8ToRGB16Color
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifCreateYUVToRGBLookUpTables
    - avifFreeYUVToRGBLookUpTables
    - AVIF_CLAMP
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV8ToRGB16Color(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1238,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1238,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1256,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1257,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1258,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1231
    functionDepth: 2
    functionLinenumber: 1231
    functionLinenumberEnd: 1271
    functionName: avifImageYUV8ToRGB16Mono
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - AVIF_CHECKERR
    - avifCreateYUVToRGBLookUpTables
    - avifFreeYUVToRGBLookUpTables
    - AVIF_CLAMP
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV8ToRGB16Mono(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RGB565
      Src: /src/libavif/src/reformat.c:1289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1304
    functionName: avifImageIdentity8ToRGB8ColorFullRange
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - RGB565
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageIdentity8ToRGB8ColorFullRange(const avifImage *
      image, avifRGBImage * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1314,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1314,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1337,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1338,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1339,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:1341,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1356
    functionName: avifImageYUV8ToRGB8Color
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFreeYUVToRGBLookUpTables
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    - avifStoreRGB8Pixel
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV8ToRGB8Color(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECKERR
      Src: /src/libavif/src/reformat.c:1365,1
    - Dst: avifCreateYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1365,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1383,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1384,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1385,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:1387,1
    - Dst: avifFreeYUVToRGBLookUpTables
      Src: /src/libavif/src/reformat.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - image
    - rgb
    - state
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1358
    functionDepth: 2
    functionLinenumber: 1358
    functionLinenumberEnd: 1402
    functionName: avifImageYUV8ToRGB8Mono
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifFreeYUVToRGBLookUpTables
    - avifCreateYUVToRGBLookUpTables
    - AVIF_CLAMP
    - AVIF_CHECKERR
    - avifStoreRGB8Pixel
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUV8ToRGB8Mono(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageToF16LibYUV
      Src: /src/libavif/src/reformat.c:1418,1
    - Dst: avifRGBFormatChannelCount
      Src: /src/libavif/src/reformat.c:1423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1438
    functionName: avifRGBImageToF16
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifRGBImageToF16LibYUV
    - avifRGBFormatChannelCount
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageToF16(avifRGBImage * rgb)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1444,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1448,1
    - Dst: avifImageYUVToRGBLibYUV
      Src: /src/libavif/src/reformat.c:1449,1
    - Dst: avifReformatAlpha
      Src: /src/libavif/src/reformat.c:1477,1
    - Dst: avifFillAlpha
      Src: /src/libavif/src/reformat.c:1479,1
    - Dst: avifRGBFormatIsGray
      Src: /src/libavif/src/reformat.c:1494,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1497,1
    - Dst: avifImageIdentity8ToRGB8ColorFullRange
      Src: /src/libavif/src/reformat.c:1507,1
    - Dst: avifImageYUV16ToRGB16Color
      Src: /src/libavif/src/reformat.c:1519,1
    - Dst: avifImageYUV16ToRGB16Mono
      Src: /src/libavif/src/reformat.c:1521,1
    - Dst: avifImageYUV16ToRGB8Color
      Src: /src/libavif/src/reformat.c:1527,1
    - Dst: avifImageYUV16ToRGB8Mono
      Src: /src/libavif/src/reformat.c:1529,1
    - Dst: avifImageYUV8ToRGB16Color
      Src: /src/libavif/src/reformat.c:1539,1
    - Dst: avifImageYUV8ToRGB16Mono
      Src: /src/libavif/src/reformat.c:1541,1
    - Dst: avifImageYUV8ToRGB8Color
      Src: /src/libavif/src/reformat.c:1547,1
    - Dst: avifImageYUV8ToRGB8Mono
      Src: /src/libavif/src/reformat.c:1549,1
    - Dst: avifImageYUVAnyToRGBAnySlow
      Src: /src/libavif/src/reformat.c:1558,1
    - Dst: avifRGBImagePremultiplyAlpha
      Src: /src/libavif/src/reformat.c:1571,1
    - Dst: avifRGBImageUnpremultiplyAlpha
      Src: /src/libavif/src/reformat.c:1576,1
    - Dst: avifRGBImageToF16
      Src: /src/libavif/src/reformat.c:1584,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 90
    argCount: 4
    argNames:
    - image
    - rgb
    - state
    - alphaMultiplyMode
    argTypes:
    - avifImage*
    - avifRGBImage*
    - avifReformatState*
    - avifAlphaMultiplyMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1440
    functionDepth: 3
    functionLinenumber: 1440
    functionLinenumberEnd: 1588
    functionName: avifImageYUVToRGBImpl
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifRGBFormatIsGray
    - avifReformatAlpha
    - avifImageIdentity8ToRGB8ColorFullRange
    - avifImageYUV16ToRGB16Color
    - avifRGBFormatHasAlpha
    - avifFillAlpha
    - avifRGBImagePremultiplyAlpha
    - avifImageYUV16ToRGB8Color
    - avifImageYUVAnyToRGBAnySlow
    - avifImageYUV8ToRGB16Mono
    - avifImageYUV16ToRGB16Mono
    - avifImageYUV8ToRGB16Color
    - avifImageYUV8ToRGB8Color
    - avifImageYUVToRGBLibYUV
    - avifRGBImageToF16
    - avifImageYUV8ToRGB8Mono
    - avifRGBImageUnpremultiplyAlpha
    - avifImageYUV16ToRGB8Mono
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUVToRGBImpl(const avifImage * image, avifRGBImage
      * rgb, avifReformatState * state, avifAlphaMultiplyMode alphaMultiplyMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageYUVToRGBImpl
      Src: /src/libavif/src/reformat.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1608
    functionDepth: 4
    functionLinenumber: 1608
    functionLinenumberEnd: 1618
    functionName: avifImageYUVToRGBThreadWorker
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - avifImageYUVToRGBImpl
    linkageType: ''
    returnType: void
    signature: void * avifImageYUVToRGBThreadWorker(void * arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/libavif/src/reformat.c:1623,1
    - Dst: pthread_create
      Src: /src/libavif/src/reformat.c:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tdata
    argTypes:
    - YUVToRGBThreadData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1633
    functionName: avifCreateYUVToRGBThread
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - _beginthreadex
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCreateYUVToRGBThread(YUVToRGBThreadData * tdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libavif/src/reformat.c:1638,1
    - Dst: CloseHandle
      Src: /src/libavif/src/reformat.c:1638,1
    - Dst: pthread_join
      Src: /src/libavif/src/reformat.c:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tdata
    argTypes:
    - YUVToRGBThreadData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1642
    functionName: avifJoinYUVToRGBThread
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - CloseHandle
    - WaitForSingleObject
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJoinYUVToRGBThread(YUVToRGBThreadData * tdata)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: avifPrepareReformatState
      Src: /src/libavif/src/reformat.c:1653,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1659,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/reformat.c:1675,1
    - Dst: avifImageYUVToRGBImpl
      Src: /src/libavif/src/reformat.c:1687,1
    - Dst: avifAlloc
      Src: /src/libavif/src/reformat.c:1691,1
    - Dst: memset
      Src: /src/libavif/src/reformat.c:1695,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/src/reformat.c:1707,1
    - Dst: avifCreateYUVToRGBThread
      Src: /src/libavif/src/reformat.c:1720,1
    - Dst: avifImageYUVToRGBThreadWorker
      Src: /src/libavif/src/reformat.c:1729,1
    - Dst: avifJoinYUVToRGBThread
      Src: /src/libavif/src/reformat.c:1734,1
    - Dst: avifFree
      Src: /src/libavif/src/reformat.c:1741,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - image
    - rgb
    argTypes:
    - avifImage*
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1644
    functionDepth: 5
    functionLinenumber: 1644
    functionLinenumberEnd: 1743
    functionName: avifImageYUVToRGB
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 36
    functionsReached:
    - avifFree
    - avifImageYUVToRGBThreadWorker
    - avifJoinYUVToRGBThread
    - AVIF_CLAMP
    - avifRGBFormatHasAlpha
    - avifAlloc
    - avifImageSetViewRect
    - avifPrepareReformatState
    - avifImageYUVToRGBImpl
    - memset
    - avifCreateYUVToRGBThread
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifImageYUVToRGB(const avifImage * image, avifRGBImage
      * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MINLIMITEDY
    - ','
    - MAXLIMITEDY
    - ','
    - FULLY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1758
    functionName: LIMITED_TO_FULL
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMITED_TO_FULL(MINLIMITEDY, MAXLIMITEDY, FULLY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MINLIMITEDY
    - ','
    - MAXLIMITEDY
    - ','
    - FULLY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: FULL_TO_LIMITED
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_TO_LIMITED(MINLIMITEDY, MAXLIMITEDY, FULLY)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1777,1
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1780,1
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - depth
    - v
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1787
    functionName: avifLimitedToFullY
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 2
    functionsReached:
    - LIMITED_TO_FULL
    linkageType: ''
    returnType: int
    signature: int avifLimitedToFullY(uint32_t depth, int v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1793,1
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1796,1
    - Dst: LIMITED_TO_FULL
      Src: /src/libavif/src/reformat.c:1799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - depth
    - v
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1803
    functionName: avifLimitedToFullUV
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - LIMITED_TO_FULL
    linkageType: ''
    returnType: int
    signature: int avifLimitedToFullUV(uint32_t depth, int v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1809,1
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1812,1
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - depth
    - v
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: avifFullToLimitedY
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 1
    functionsReached:
    - FULL_TO_LIMITED
    linkageType: ''
    returnType: int
    signature: int avifFullToLimitedY(uint32_t depth, int v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1825,1
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1828,1
    - Dst: FULL_TO_LIMITED
      Src: /src/libavif/src/reformat.c:1831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - depth
    - v
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1835
    functionName: avifFullToLimitedUV
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached:
    - FULL_TO_LIMITED
    linkageType: ''
    returnType: int
    signature: int avifFullToLimitedUV(uint32_t depth, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: avifFloatToF16
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifFloatToF16(float v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1849
    functionName: avifF16ToFloat
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float avifF16ToFloat(uint16_t v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1853,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1854,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1855,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1862,1
    - Dst: avifF16ToFloat
      Src: /src/libavif/src/reformat.c:1864,1
    - Dst: avifF16ToFloat
      Src: /src/libavif/src/reformat.c:1865,1
    - Dst: avifF16ToFloat
      Src: /src/libavif/src/reformat.c:1866,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1867,1
    - Dst: avifF16ToFloat
      Src: /src/libavif/src/reformat.c:1867,1
    - Dst: avifGetRGB565
      Src: /src/libavif/src/reformat.c:1877,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - src
    - x
    - y
    - info
    - rgbaPixel
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    - avifRGBColorSpaceInfo*
    - float[]
    assertStmts:
    - condition: (src != NULL)
      pos:
        line_end: 1852
        line_start: 1852
        source_file: /src/libavif/src/reformat.c
    - condition: (!src->isFloat || src->depth == 16)
      pos:
        line_end: 1853
        line_start: 1853
        source_file: /src/libavif/src/reformat.c
    - condition: (src->format != AVIF_RGB_FORMAT_RGB_565 || src->depth == 8)
      pos:
        line_end: 1854
        line_start: 1854
        source_file: /src/libavif/src/reformat.c
    constantsTouched: []
    func_position:
      end: 1889
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1889
    functionName: avifGetRGBAPixel
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 14
    functionsReached:
    - avifRGBFormatHasAlpha
    - avifF16ToFloat
    - avifGetRGB565
    - assert
    linkageType: ''
    returnType: void
    signature: void avifGetRGBAPixel(const avifRGBImage * src, uint32_t x, uint32_t
      y, const avifRGBColorSpaceInfo * info, float rgbaPixel[4])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1893,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1894,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1895,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1896,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1897,1
    - Dst: assert
      Src: /src/libavif/src/reformat.c:1898,1
    - Dst: avifRGBFormatHasAlpha
      Src: /src/libavif/src/reformat.c:1905,1
    - Dst: avifFloatToF16
      Src: /src/libavif/src/reformat.c:1908,1
    - Dst: avifFloatToF16
      Src: /src/libavif/src/reformat.c:1909,1
    - Dst: avifFloatToF16
      Src: /src/libavif/src/reformat.c:1910,1
    - Dst: avifFloatToF16
      Src: /src/libavif/src/reformat.c:1912,1
    - Dst: avifStoreRGB8Pixel
      Src: /src/libavif/src/reformat.c:1923,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - dst
    - x
    - y
    - info
    - rgbaPixel
    argTypes:
    - avifRGBImage*
    - uint32_t
    - uint32_t
    - avifRGBColorSpaceInfo*
    - float[]
    assertStmts:
    - condition: (dst != NULL)
      pos:
        line_end: 1892
        line_start: 1892
        source_file: /src/libavif/src/reformat.c
    - condition: (rgbaPixel[0] >= 0.0f && rgbaPixel[0] <= 1.0f)
      pos:
        line_end: 1895
        line_start: 1895
        source_file: /src/libavif/src/reformat.c
    - condition: (dst->format != AVIF_RGB_FORMAT_RGB_565 || dst->depth == 8)
      pos:
        line_end: 1894
        line_start: 1894
        source_file: /src/libavif/src/reformat.c
    - condition: (rgbaPixel[1] >= 0.0f && rgbaPixel[1] <= 1.0f)
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/libavif/src/reformat.c
    - condition: (!dst->isFloat || dst->depth == 16)
      pos:
        line_end: 1893
        line_start: 1893
        source_file: /src/libavif/src/reformat.c
    - condition: (rgbaPixel[2] >= 0.0f && rgbaPixel[2] <= 1.0f)
      pos:
        line_end: 1897
        line_start: 1897
        source_file: /src/libavif/src/reformat.c
    constantsTouched: []
    func_position:
      end: 1934
      start: 1891
    functionDepth: 2
    functionLinenumber: 1891
    functionLinenumberEnd: 1934
    functionName: avifSetRGBAPixel
    functionSourceFile: /src/libavif/src/reformat.c
    functionUses: 14
    functionsReached:
    - avifStoreRGB8Pixel
    - avifRGBFormatHasAlpha
    - avifFloatToF16
    - assert
    linkageType: ''
    returnType: void
    signature: void avifSetRGBAPixel(const avifRGBImage * dst, uint32_t x, uint32_t
      y, const avifRGBColorSpaceInfo * info, const float rgbaPixel[4])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libavif/src/colr.c:35,1
    - Dst: memcpy
      Src: /src/libavif/src/colr.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - acp
    - outPrimaries
    argTypes:
    - avifColorPrimaries
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: avifColorPrimariesGetValues
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 9
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void avifColorPrimariesGetValues(avifColorPrimaries acp, float outPrimaries[8])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/libavif/src/colr.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: matchesTo3RoundedPlaces
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: avifBool
    signature: avifBool matchesTo3RoundedPlaces(float a, float b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:51,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:51,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:52,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:52,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:52,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:53,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:53,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: primariesMatch
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - matchesTo3RoundedPlaces
    linkageType: ''
    returnType: avifBool
    signature: avifBool primariesMatch(const float p1[8], const float p2[8])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: primariesMatch
      Src: /src/libavif/src/colr.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - inPrimaries
    - outName
    argTypes:
    - float[]
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: avifColorPrimariesFind
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - primariesMatch
    linkageType: ''
    returnType: avifColorPrimaries
    signature: avifColorPrimaries avifColorPrimariesFind(const float inPrimaries[8],
      const char ** outName)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - atc
    - gamma
    argTypes:
    - avifTransferCharacteristics
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: avifTransferCharacteristicsGetGamma
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifTransferCharacteristicsGetGamma(avifTransferCharacteristics
      atc, float * gamma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:100,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:102,1
    - Dst: matchesTo3RoundedPlaces
      Src: /src/libavif/src/colr.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: avifTransferCharacteristicsFindByGamma
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - matchesTo3RoundedPlaces
    linkageType: ''
    returnType: avifTransferCharacteristics
    signature: avifTransferCharacteristics avifTransferCharacteristicsFindByGamma(float
      gamma)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesComputeYCoeffs
      Src: /src/libavif/src/colr.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - image
    - coeffs
    argTypes:
    - avifImage*
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: calcYUVInfoFromCICP
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - avifColorPrimariesComputeYCoeffs
    linkageType: ''
    returnType: avifBool
    signature: avifBool calcYUVInfoFromCICP(const avifImage * image, float coeffs[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcYUVInfoFromCICP
      Src: /src/libavif/src/colr.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - image
    - outR
    - outG
    - outB
    argTypes:
    - avifImage*
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 188
    functionName: avifCalcYUVCoefficients
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 1
    functionsReached:
    - calcYUVInfoFromCICP
    linkageType: ''
    returnType: void
    signature: void avifCalcYUVCoefficients(const avifImage * image, float * outR,
      float * outG, float * outB)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: avifToLinear709
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinear709(float gamma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: avifToGamma709
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToGamma709(float linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:244,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: avifToLinear470M
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToLinear470M(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:249,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: avifToGamma470M
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToGamma470M(float linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:254,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: avifToLinear470BG
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToLinear470BG(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:259,1
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: avifToGamma470BG
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToGamma470BG(float linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: avifToLinearSMPTE240
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinearSMPTE240(float gamma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: avifToGammaSMPTE240
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToGammaSMPTE240(float linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: avifToGammaLinear
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToGammaLinear(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:297,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/colr.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: avifToLinearLog100
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_MIN
    linkageType: ''
    returnType: float
    signature: float avifToLinearLog100(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log10f
      Src: /src/libavif/src/colr.c:302,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/colr.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: avifToGammaLog100
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - log10f
    linkageType: ''
    returnType: float
    signature: float avifToGammaLog100(float linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:309,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/colr.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: avifToLinearLog100Sqrt10
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_MIN
    linkageType: ''
    returnType: float
    signature: float avifToLinearLog100Sqrt10(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log10f
      Src: /src/libavif/src/colr.c:314,1
    - Dst: AVIF_MIN
      Src: /src/libavif/src/colr.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: avifToGammaLog100Sqrt10
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - log10f
    linkageType: ''
    returnType: float
    signature: float avifToGammaLog100Sqrt10(float linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:320,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: avifToLinearIEC61966
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinearIEC61966(float gamma)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:331,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: avifToGammaIEC61966
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToGammaIEC61966(float linear)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:344,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: avifToLinearBT1361
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinearBT1361(float gamma)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:359,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: avifToGammaBT1361
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToGammaBT1361(float linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: avifToLinearSRGB
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinearSRGB(float gamma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: avifToGammaSRGB
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToGammaSRGB(float linear)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:402,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/colr.c:403,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/colr.c:404,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: avifToLinearPQ
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_MAX
    linkageType: ''
    returnType: float
    signature: float avifToLinearPQ(float gamma)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:417,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:418,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 425
    functionName: avifToGammaPQ
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToGammaPQ(float linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:429,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/colr.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: avifToLinearSMPTE428
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_MAX
    linkageType: ''
    returnType: float
    signature: float avifToLinearSMPTE428(float gamma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:434,1
    - Dst: AVIF_MAX
      Src: /src/libavif/src/colr.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: avifToGammaSMPTE428
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - powf
    - AVIF_MAX
    linkageType: ''
    returnType: float
    signature: float avifToGammaSMPTE428(float linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libavif/src/colr.c:450,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:452,1
    - Dst: expf
      Src: /src/libavif/src/colr.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - gamma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 456
    functionName: avifToLinearHLG
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - expf
    - powf
    linkageType: ''
    returnType: float
    signature: float avifToLinearHLG(float gamma)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CLAMP
      Src: /src/libavif/src/colr.c:461,1
    - Dst: powf
      Src: /src/libavif/src/colr.c:463,1
    - Dst: sqrtf
      Src: /src/libavif/src/colr.c:467,1
    - Dst: logf
      Src: /src/libavif/src/colr.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - linear
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: avifToGammaHLG
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 0
    functionsReached:
    - logf
    - powf
    - sqrtf
    - AVIF_CLAMP
    linkageType: ''
    returnType: float
    signature: float avifToGammaHLG(float linear)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - atc
    argTypes:
    - avifTransferCharacteristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: avifTransferCharacteristicsGetGammaToLinearFunction
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: avifTransferFunction
    signature: avifTransferFunction avifTransferCharacteristicsGetGammaToLinearFunction(avifTransferCharacteristics
      atc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - atc
    argTypes:
    - avifTransferCharacteristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: avifTransferCharacteristicsGetLinearToGammaFunction
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: avifTransferFunction
    signature: avifTransferFunction avifTransferCharacteristicsGetLinearToGammaFunction(avifTransferCharacteristics
      atc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/src/colr.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - colorPrimaries
    - coeffs
    argTypes:
    - avifColorPrimaries
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 542
    functionName: avifColorPrimariesComputeYCoeffs
    functionSourceFile: /src/libavif/src/colr.c
    functionUses: 2
    functionsReached:
    - avifColorPrimariesGetValues
    linkageType: ''
    returnType: void
    signature: void avifColorPrimariesComputeYCoeffs(avifColorPrimaries colorPrimaries,
      float coeffs[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: LOGE
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RETURN_TYPE
    - ','
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC(RETURN_TYPE, NAME, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: AvifDecoderWrapper
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifDecoderWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: AvifDecoderWrapper
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifDecoderWrapper(const AvifDecoderWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvifDecoderWrapper&)'
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvifDecoderWrapper
    signature: AvifDecoderWrapper & operator=(const AvifDecoderWrapper&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDestroy
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ~AvifDecoderWrapper()
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifDecoderDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifDecoderWrapper()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderCreate
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:56,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:58,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:74,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:76,1
    - Dst: avifDecoderParse
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:79,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:81,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:91,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - decoder
    - buffer
    - length
    - threads
    argTypes:
    - AvifDecoderWrapper*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 12
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: CreateDecoderAndParse
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - avifDecoderCreate
    - avifCropRectFromCleanApertureBox
    - avifCropRectRequiresUpsampling
    - LOGE
    - avifDecoderSetIOMemory
    - avifDecoderParse
    linkageType: ''
    returnType: bool
    signature: "bool CreateDecoderAndParse(AvifDecoderWrapper* const decoder,\n                           const
      uint8_t* const buffer, int length,\n                           int threads)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AndroidBitmap_getInfo
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:109,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:110,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:117,1
    - Dst: AndroidBitmap_lockPixels
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:121,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:123,1
    - Dst: std::unique_ptr::reset
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:135,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:135,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:137,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:140,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:140,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:143,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:146,1
    - Dst: std::unique_ptr::reset
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:155,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:155,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:157,1
    - Dst: avifImageCopy
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:160,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:160,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:165,1
    - Dst: avifImageScale
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:168,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:170,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:176,1
    - Dst: static_cast<uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:186,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:192,1
    - Dst: AndroidBitmap_unlockPixels
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:193,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:195,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - env
    - decoder
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: AvifImageToBitmap
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - LOGE
    - AndroidBitmap_unlockPixels
    - avifImageSetViewRect
    - avifImageCopy
    - avifImageYUVToRGB
    - avifImageScale
    - avifRGBImageSetDefaults
    - static_cast<uint8_t*>
    - AndroidBitmap_getInfo
    - AndroidBitmap_lockPixels
    - std::unique_ptr::get
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifImageToBitmap(JNIEnv* const env,\n                             AvifDecoderWrapper*
      const decoder,\n                             jobject bitmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderNextImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:203,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:205,1
    - Dst: AvifImageToBitmap
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - env
    - decoder
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 8
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: DecodeNextImage
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - AvifImageToBitmap
    - LOGE
    - avifDecoderNextImage
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNextImage(JNIEnv* const env, AvifDecoderWrapper*
      const decoder,\n                           jobject bitmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderNthImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:213,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:215,1
    - Dst: AvifImageToBitmap
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - env
    - decoder
    - n
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - uint32_t
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 9
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: DecodeNthImage
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifDecoderNthImage
    - AvifImageToBitmap
    - LOGE
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNthImage(JNIEnv* const env, AvifDecoderWrapper* const
      decoder,\n                          uint32_t n, jobject bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_getCpuCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:223,1
    - Dst: std::min
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:228,1
    - Dst: android_getCpuCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: getThreadCount
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - std::min
    - android_getCpuCount
    linkageType: ''
    returnType: int
    signature: int getThreadCount(int threads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::ExceptionCheck
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:239,1
    - Dst: JNIEnv*::ExceptionClear
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: JniExceptionCheck
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - JNIEnv*::ExceptionClear
    - JNIEnv*::ExceptionCheck
    linkageType: ''
    returnType: bool
    signature: bool JniExceptionCheck(JNIEnv* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: AvifDecoderWrapper
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifDecoderWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: AvifDecoderWrapper
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvifDecoderWrapper(const AvifDecoderWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvifDecoderWrapper&)'
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvifDecoderWrapper
    signature: AvifDecoderWrapper & operator=(const AvifDecoderWrapper&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDestroy
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ~AvifDecoderWrapper()
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifDecoderDestroy
    linkageType: ''
    returnType: void
    signature: void ~AvifDecoderWrapper()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderCreate
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:56,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:58,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:74,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:76,1
    - Dst: avifDecoderParse
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:79,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:81,1
    - Dst: avifResultToString
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:81,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:91,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - decoder
    - buffer
    - length
    - threads
    argTypes:
    - AvifDecoderWrapper*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 12
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: CreateDecoderAndParse
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - avifDecoderCreate
    - avifCropRectFromCleanApertureBox
    - avifCropRectRequiresUpsampling
    - LOGE
    - avifDecoderSetIOMemory
    - avifDecoderParse
    linkageType: ''
    returnType: bool
    signature: "bool CreateDecoderAndParse(AvifDecoderWrapper* const decoder,\n                           const
      uint8_t* const buffer, int length,\n                           int threads)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AndroidBitmap_getInfo
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:109,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:110,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:117,1
    - Dst: AndroidBitmap_lockPixels
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:121,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:123,1
    - Dst: std::unique_ptr::reset
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:135,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:135,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:137,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:140,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:140,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:143,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:146,1
    - Dst: std::unique_ptr::reset
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:155,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:155,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:157,1
    - Dst: avifImageCopy
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:160,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:160,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:162,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:165,1
    - Dst: avifImageScale
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:168,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:170,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:176,1
    - Dst: static_cast<uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:186,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:192,1
    - Dst: AndroidBitmap_unlockPixels
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:193,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:195,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - env
    - decoder
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: AvifImageToBitmap
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 2
    functionsReached:
    - std::unique_ptr::reset
    - LOGE
    - AndroidBitmap_unlockPixels
    - avifImageSetViewRect
    - avifImageCopy
    - avifImageYUVToRGB
    - avifImageScale
    - avifRGBImageSetDefaults
    - static_cast<uint8_t*>
    - AndroidBitmap_getInfo
    - AndroidBitmap_lockPixels
    - std::unique_ptr::get
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifResult
    signature: "avifResult AvifImageToBitmap(JNIEnv* const env,\n                             AvifDecoderWrapper*
      const decoder,\n                             jobject bitmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderNextImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:203,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:205,1
    - Dst: AvifImageToBitmap
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - env
    - decoder
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 8
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: DecodeNextImage
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - AvifImageToBitmap
    - LOGE
    - avifDecoderNextImage
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNextImage(JNIEnv* const env, AvifDecoderWrapper*
      const decoder,\n                           jobject bitmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderNthImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:213,1
    - Dst: LOGE
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:215,1
    - Dst: AvifImageToBitmap
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - env
    - decoder
    - n
    - bitmap
    argTypes:
    - JNIEnv*
    - AvifDecoderWrapper*
    - uint32_t
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 9
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: DecodeNthImage
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - avifDecoderNthImage
    - AvifImageToBitmap
    - LOGE
    linkageType: ''
    returnType: avifResult
    signature: "avifResult DecodeNthImage(JNIEnv* const env, AvifDecoderWrapper* const
      decoder,\n                          uint32_t n, jobject bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_getCpuCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:223,1
    - Dst: std::min
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:228,1
    - Dst: android_getCpuCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: getThreadCount
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - std::min
    - android_getCpuCount
    linkageType: ''
    returnType: int
    signature: int getThreadCount(int threads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::ExceptionCheck
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:239,1
    - Dst: JNIEnv*::ExceptionClear
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: JniExceptionCheck
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - JNIEnv*::ExceptionClear
    - JNIEnv*::ExceptionCheck
    linkageType: ''
    returnType: bool
    signature: bool JniExceptionCheck(JNIEnv* env)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JavaVM*::GetEnv
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:250,1
    - Dst: reinterpret_cast<void**>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vm
    argTypes:
    - JavaVM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: JNI_OnLoad
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void**>
    - JavaVM*::GetEnv
    linkageType: ''
    returnType: jint
    signature: jint JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:259,1
    - Dst: GetDirectBufferAddress
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:259,1
    - Dst: static_cast<size_t>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:260,1
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - encoded
    - length
    argTypes:
    - jobject
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - avifPeekCompatibleFileType
    - GetDirectBufferAddress
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void FUNC(jboolean, isAvifImage, jobject encoded, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION(ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - class_name
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: FIND_CLASS
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_CLASS(var, class_name, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - class_name
    - ','
    - field_name
    - ','
    - signature
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: GET_FIELD_ID
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FIELD_ID(var, class_name, field_name, signature, ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:282,1
    - Dst: GetDirectBufferAddress
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:282,1
    - Dst: CreateDecoderAndParse
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:284,1
    - Dst: FIND_CLASS
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:287,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:288,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:289,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:290,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:291,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:292,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:293,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:294,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:295,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:296,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:297,1
    - Dst: SetBooleanField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:298,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - encoded
    - length
    - info
    argTypes:
    - jobject
    - int
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 279
    functionDepth: 13
    functionLinenumber: 279
    functionLinenumberEnd: 301
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - GetDirectBufferAddress
    - GET_FIELD_ID
    - SetIntField
    - SetBooleanField
    - FIND_CLASS
    - CHECK_EXCEPTION
    - CreateDecoderAndParse
    linkageType: ''
    returnType: void
    signature: void FUNC(jboolean, getInfo, jobject encoded, int length, jobject info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:307,1
    - Dst: GetDirectBufferAddress
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:307,1
    - Dst: CreateDecoderAndParse
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:309,1
    - Dst: getThreadCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:310,1
    - Dst: DecodeNextImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - encoded
    - length
    - bitmap
    - threads
    argTypes:
    - jobject
    - int
    - jobject
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 13
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - GetDirectBufferAddress
    - getThreadCount
    - DecodeNextImage
    - CreateDecoderAndParse
    linkageType: ''
    returnType: void
    signature: "void FUNC(jboolean, decode, jobject encoded, int length, jobject bitmap,\n
      \    jint threads)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:318,1
    - Dst: GetDirectBufferAddress
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:318,1
    - Dst: AvifDecoderWrapper::AvifDecoderWrapper
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:319,1
    - Dst: CreateDecoderAndParse
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:324,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:324,1
    - Dst: getThreadCount
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:325,1
    - Dst: FIND_CLASS
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:328,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:329,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:330,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:331,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:332,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:333,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:334,1
    - Dst: GET_FIELD_ID
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:336,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:338,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:339,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:340,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:341,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:342,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:343,1
    - Dst: SetBooleanField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:344,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:345,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:346,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:348,1
    - Dst: SetIntField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:350,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:351,1
    - Dst: double::double
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:355,1
    - Dst: avifDecoderNthImageTiming
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:361,1
    - Dst: NewDoubleArray
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:367,1
    - Dst: SetDoubleArrayRegion
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:371,1
    - Dst: std::unique_ptr::get
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:372,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:373,1
    - Dst: SetObjectField
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:374,1
    - Dst: CHECK_EXCEPTION
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:375,1
    - Dst: reinterpret_cast<jlong>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:376,1
    - Dst: std::unique_ptr::release
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - encoded
    - length
    - threads
    argTypes:
    - jobject
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 316
    functionDepth: 13
    functionLinenumber: 316
    functionLinenumberEnd: 377
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - GetDirectBufferAddress
    - double::double
    - GET_FIELD_ID
    - reinterpret_cast<jlong>
    - NewDoubleArray
    - getThreadCount
    - SetIntField
    - avifDecoderNthImageTiming
    - SetDoubleArrayRegion
    - SetBooleanField
    - FIND_CLASS
    - SetObjectField
    - CHECK_EXCEPTION
    - std::unique_ptr::release
    - AvifDecoderWrapper::AvifDecoderWrapper
    - CreateDecoderAndParse
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void FUNC(jlong, createDecoder, jobject encoded, jint length, jint
      threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifDecoderWrapper*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:386,1
    - Dst: DecodeNextImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jdecoder
    - bitmap
    argTypes:
    - jlong
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 9
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AvifDecoderWrapper*>
    - DecodeNextImage
    linkageType: ''
    returnType: void
    signature: void FUNC(jint, nextFrame, jlong jdecoder, jobject bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifDecoderWrapper*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jdecoder
    argTypes:
    - jlong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AvifDecoderWrapper*>
    linkageType: ''
    returnType: void
    signature: void FUNC(jint, nextFrameIndex, jlong jdecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifDecoderWrapper*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:400,1
    - Dst: DecodeNthImage
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - jdecoder
    - n
    - bitmap
    argTypes:
    - jlong
    - jint
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 10
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AvifDecoderWrapper*>
    - DecodeNthImage
    linkageType: ''
    returnType: void
    signature: void FUNC(jint, nthFrame, jlong jdecoder, jint n, jobject bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewStringUTF
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:406,1
    - Dst: avifResultToString
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:406,1
    - Dst: static_cast<avifResult>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - static_cast<avifResult>
    - avifResultToString
    - NewStringUTF
    linkageType: ''
    returnType: void
    signature: void FUNC(jstring, resultToString, jint result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersions
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:412,1
    - Dst: avifLibYUVVersion
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:414,1
    - Dst: snprintf
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:415,1
    - Dst: avifLibYUVVersion
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:416,1
    - Dst: snprintf
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:421,1
    - Dst: avifVersion
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:422,1
    - Dst: NewStringUTF
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - avifCodecVersions
    - avifVersion
    - avifLibYUVVersion
    - NewStringUTF
    linkageType: ''
    returnType: void
    signature: void FUNC(jstring, versionString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AvifDecoderWrapper*>
      Src: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jdecoder
    argTypes:
    - jlong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: FUNC
    functionSourceFile: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AvifDecoderWrapper*>
    linkageType: ''
    returnType: void
    signature: void FUNC(void, destroyDecoder, jlong jdecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: NEXTARG
    functionSourceFile: /src/libavif/apps/avifdec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTARG()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:29,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:30,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:31,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:32,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:33,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:34,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:35,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:36,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:37,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:38,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:39,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:40,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:41,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:42,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:43,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:44,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:45,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:46,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:47,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:48,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:49,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:50,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:52,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:53,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:54,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:55,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifdec.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: syntax
    functionSourceFile: /src/libavif/apps/avifdec.c
    functionUses: 1
    functionsReached:
    - avifPrintVersions
    - printf
    linkageType: ''
    returnType: void
    signature: void syntax(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:70,1
    - Dst: y4mWrite
      Src: /src/libavif/apps/avifdec.c:72,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/apps/avifdec.c:78,1
    - Dst: avifPNGWrite
      Src: /src/libavif/apps/avifdec.c:80,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 8
    argNames:
    - outputFormat
    - outputFilename
    - image
    - rawColor
    - jpegQuality
    - pngCompressionLevel
    - requestedDepth
    - chromaUpsampling
    argTypes:
    - avifAppFileFormat
    - char*
    - avifImage*
    - avifBool
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: avifWriteToFile
    functionSourceFile: /src/libavif/apps/avifdec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - avifPNGWrite
    - y4mWrite
    - avifJPEGWrite
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifWriteToFile(avifAppFileFormat outputFormat,\n                         const
      char * outputFilename,\n                         avifImage * image,\n                         avifBool
      rawColor,\n                         int jpegQuality,\n                         int
      pngCompressionLevel,\n                         int requestedDepth,\n                         int
      chromaUpsampling)"
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:111,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:119,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:130,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:131,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:137,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:137,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:138,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:140,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:140,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifdec.c:141,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:143,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:143,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:144,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:145,1
    - Dst: avifQueryCPUCount
      Src: /src/libavif/apps/avifdec.c:146,1
    - Dst: atoi
      Src: /src/libavif/apps/avifdec.c:148,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:153,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:153,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:154,1
    - Dst: avifCodecChoiceFromName
      Src: /src/libavif/apps/avifdec.c:155,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:157,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifdec.c:160,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:162,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:166,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:166,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:167,1
    - Dst: atoi
      Src: /src/libavif/apps/avifdec.c:168,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:170,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:173,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:175,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:175,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:176,1
    - Dst: atoi
      Src: /src/libavif/apps/avifdec.c:177,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:183,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:184,1
    - Dst: atoi
      Src: /src/libavif/apps/avifdec.c:185,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:191,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:191,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:192,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:193,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:195,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:197,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:199,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:201,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:204,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:207,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:207,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:209,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:211,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:212,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:213,1
    - Dst: atoi
      Src: /src/libavif/apps/avifdec.c:216,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:219,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:221,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:221,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:223,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:224,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:227,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:229,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:230,1
    - Dst: strtoul
      Src: /src/libavif/apps/avifdec.c:231,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:233,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifdec.c:237,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifdec.c:238,1
    - Dst: strtoul
      Src: /src/libavif/apps/avifdec.c:239,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:241,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:246,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:247,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:256,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:257,1
    - Dst: avifQueryCPUCount
      Src: /src/libavif/apps/avifdec.c:266,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:270,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:275,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:276,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:283,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:284,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:289,1
    - Dst: syntax
      Src: /src/libavif/apps/avifdec.c:290,1
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/avifdec.c:293,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:295,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:300,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifdec.c:301,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/apps/avifdec.c:307,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:309,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/apps/avifdec.c:324,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:326,1
    - Dst: avifDecoderParse
      Src: /src/libavif/apps/avifdec.c:330,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:332,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifdec.c:332,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:336,1
    - Dst: avifContainerDump
      Src: /src/libavif/apps/avifdec.c:337,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:340,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:347,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:351,1
    - Dst: avifReadEntireFile
      Src: /src/libavif/apps/avifdec.c:355,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:356,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifdec.c:357,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/apps/avifdec.c:369,1
    - Dst: avifDecoderNthImage
      Src: /src/libavif/apps/avifdec.c:369,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:374,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/apps/avifdec.c:393,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:399,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:404,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/avifdec.c:406,1
    - Dst: assert
      Src: /src/libavif/apps/avifdec.c:407,1
    - Dst: printf
      Src: /src/libavif/apps/avifdec.c:411,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/avifdec.c:412,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:414,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifdec.c:414,1
    - Dst: strrchr
      Src: /src/libavif/apps/avifdec.c:421,1
    - Dst: strlen
      Src: /src/libavif/apps/avifdec.c:422,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifdec.c:427,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:436,1
    - Dst: avifWriteToFile
      Src: /src/libavif/apps/avifdec.c:439,1
    - Dst: avifWriteToFile
      Src: /src/libavif/apps/avifdec.c:443,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:447,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:460,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifdec.c:468,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifdec.c:468,1
    - Dst: avifDumpDiagnostics
      Src: /src/libavif/apps/avifdec.c:477,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/apps/avifdec.c:479,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifdec.c:481,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 329
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (result == AVIF_RESULT_OK)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/libavif/apps/avifdec.c
    constantsTouched: []
    func_position:
      end: 483
      start: 87
    functionDepth: 12
    functionLinenumber: 87
    functionLinenumberEnd: 483
    functionName: main
    functionSourceFile: /src/libavif/apps/avifdec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - atoi
    - assert
    - strrchr
    - avifContainerDump
    - avifDecoderNthImage
    - avifGuessFileFormat
    - avifImageSetProfileICC
    - strcmp
    - avifPrintVersions
    - syntax
    - avifDecoderParse
    - NEXTARG
    - avifDecoderCreate
    - avifResultToString
    - avifCropRectFromCleanApertureBox
    - avifDecoderSetIOFile
    - printf
    - avifDecoderDestroy
    - strlen
    - avifRWDataFree
    - avifDumpDiagnostics
    - strtoul
    - avifCodecChoiceFromName
    - snprintf
    - avifDecoderNextImage
    - avifQueryCPUCount
    - avifReadEntireFile
    - avifWriteToFile
    - avifCodecName
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: NEXTARG
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTARG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: intSettingsEntryOf
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifSettingsEntryInt
    signature: avifSettingsEntryInt intSettingsEntryOf(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: boolSettingsEntryOf
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - intSettingsEntryOf
    linkageType: ''
    returnType: avifSettingsEntryBool
    signature: avifSettingsEntryBool boolSettingsEntryOf(avifBool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: scalingModeSettingsEntryOf
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifSettingsEntryScalingMode
    signature: avifSettingsEntryScalingMode scalingModeSettingsEntryOf(uint32_t n,
      uint32_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: avifPrettyFilename
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifPrettyFilename(const char * filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:191,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:192,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:193,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: syntaxShort
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void syntaxShort(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:199,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:200,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:201,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:202,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:203,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:204,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:205,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:209,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:213,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:216,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:217,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:218,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:219,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:220,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:222,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:224,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:225,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:226,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:227,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:228,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:229,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:230,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:231,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:232,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:233,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:234,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:235,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:236,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:237,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:238,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:239,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:240,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:241,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:242,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:244,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:245,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:246,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:247,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:248,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:249,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:250,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:251,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:252,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:253,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:254,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:255,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:256,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:257,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:258,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:260,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:261,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:266,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:267,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:268,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:269,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:270,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:271,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:272,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:273,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:274,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:275,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:276,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:277,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:281,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:286,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:291,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:292,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:293,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:294,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:295,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:296,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:297,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:298,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:299,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:300,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:301,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:302,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:303,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:304,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:305,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifenc.c:306,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:307,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:308,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:309,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:310,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:311,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:312,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:313,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:314,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:315,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:316,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:317,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:318,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:319,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:320,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:321,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:322,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:323,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:324,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:325,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:326,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:327,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifenc.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 330
    functionName: syntaxLong
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifPrintVersions
    - avifCodecName
    - printf
    linkageType: ''
    returnType: void
    signature: void syntaxLong(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - quality
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: qualityString
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qualityString(int quality)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libavif/apps/avifenc.c:356,1
    - Dst: strtok
      Src: /src/libavif/apps/avifenc.c:365,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:368,1
    - Dst: strtok
      Src: /src/libavif/apps/avifenc.c:374,1
    - Dst: strchr
      Src: /src/libavif/apps/avifenc.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - output
    - n
    - arg
    - delim
    argTypes:
    - uint32_t[]
    - int
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: parseU32List
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - strtok
    - atoi
    - strchr
    - strncpy
    linkageType: ''
    returnType: avifBool
    signature: avifBool parseU32List(uint32_t output[], int n, const char * arg, const
      char delim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libavif/apps/avifenc.c:393,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:397,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:406,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:406,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - warnNoSuffix
    argTypes:
    - char*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: parseOptionSuffix
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strchr
    - strcmp
    linkageType: ''
    returnType: avifOptionSuffixType
    signature: avifOptionSuffixType parseOptionSuffix(const char * arg, avifBool warnNoSuffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libavif/apps/avifenc.c:416,1
    - Dst: strlen
      Src: /src/libavif/apps/avifenc.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: strpre
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool strpre(const char * str, const char * prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/apps/avifenc.c:429,1
    - Dst: avifCleanApertureBoxFromCropRect
      Src: /src/libavif/apps/avifenc.c:430,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - srcW
    - srcH
    - clapValues
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 453
    functionName: convertCropToClap
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifCleanApertureBoxFromCropRect
    - fprintf
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: avifBool
    signature: avifBool convertCropToClap(uint32_t srcW, uint32_t srcH, uint32_t clapValues[8])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:457,1
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:461,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:463,1
    - Dst: memcpy
      Src: /src/libavif/apps/avifenc.c:469,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:471,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - avifInput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 477
    functionName: avifInputAddCachedImage
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - free
    - malloc
    - memcpy
    - memset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifInputAddCachedImage(avifInput * input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/apps/avifenc.c:481,1
    - Dst: fclose
      Src: /src/libavif/apps/avifenc.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: fileExists
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    linkageType: ''
    returnType: avifBool
    signature: avifBool fileExists(const char * filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:499,1
    - Dst: ungetc
      Src: /src/libavif/apps/avifenc.c:500,1
    - Dst: fgetc
      Src: /src/libavif/apps/avifenc.c:500,1
    - Dst: feof
      Src: /src/libavif/apps/avifenc.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - imageIndex
    argTypes:
    - avifInput*
    - int
    assertStmts:
    - condition: (input->fileIndex == 0)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/libavif/apps/avifenc.c
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: avifInputGetFile
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - ungetc
    - fgetc
    - feof
    - assert
    linkageType: ''
    returnType: avifInputFile
    signature: avifInputFile * avifInputGetFile(const avifInput * input, int imageIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libavif/apps/avifenc.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - input
    - imageIndex
    argTypes:
    - avifInput*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: avifInputHasRemainingData
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - feof
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifInputHasRemainingData(const avifInput * input, int imageIndex)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: avifImageSetViewRect
      Src: /src/libavif/apps/avifenc.c:542,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:543,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:547,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/apps/avifenc.c:549,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:550,1
    - Dst: avifInputAddCachedImage
      Src: /src/libavif/apps/avifenc.c:575,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:576,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:579,1
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifenc.c:582,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:583,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:595,1
    - Dst: feof
      Src: /src/libavif/apps/avifenc.c:603,1
    - Dst: avifReadImage
      Src: /src/libavif/apps/avifenc.c:613,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:627,1
    - Dst: avifFileFormatToString
      Src: /src/libavif/apps/avifenc.c:629,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:632,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:651,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:655,1
    - Dst: avifInputReadImage
      Src: /src/libavif/apps/avifenc.c:656,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 14
    argNames:
    - input
    - imageIndex
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - allowChangingCicp
    - ignoreGainMap
    - image
    - settings
    - outDepth
    - sourceIsRGB
    - sourceTiming
    - chromaDownsampling
    - inputFormat
    argTypes:
    - avifInput*
    - int
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    - avifImage*
    - avifInputFileSettings**
    - uint32_t*
    - avifBool*
    - avifAppSourceTiming*
    - avifChromaDownsampling
    - avifAppFileFormat
    assertStmts:
    - condition: (imageIndex + 1 == input->cacheCount)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/libavif/apps/avifenc.c
    - condition: (dstImage->yuvFormat != AVIF_PIXEL_FORMAT_NONE)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/libavif/apps/avifenc.c
    - condition: (AVIF_FALSE)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/libavif/apps/avifenc.c
    - condition: (AVIF_FALSE)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/libavif/apps/avifenc.c
    - condition: (AVIF_FALSE)
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/libavif/apps/avifenc.c
    - condition: (imageIndex < input->cacheCount)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/libavif/apps/avifenc.c
    constantsTouched: []
    func_position:
      end: 672
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 672
    functionName: avifInputReadImage
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 1
    functionsReached:
    - avifInputReadImage
    - fprintf
    - feof
    - avifInputAddCachedImage
    - avifImageSetViewRect
    - assert
    - avifImageCopy
    - avifFileFormatToString
    - avifReadImage
    - memset
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifInputReadImage(avifInput * input,\n                                   int
      imageIndex,\n                                   avifBool ignoreColorProfile,\n
      \                                  avifBool ignoreExif,\n                                   avifBool
      ignoreXMP,\n                                   avifBool allowChangingCicp,\n
      \                                  avifBool ignoreGainMap,\n                                   avifImage
      * image,\n                                   const avifInputFileSettings **
      settings,\n                                   uint32_t * outDepth,\n                                   avifBool
      * sourceIsRGB,\n                                   avifAppSourceTiming * sourceTiming,\n
      \                                  avifChromaDownsampling chromaDownsampling,\n
      \                                  avifAppFileFormat inputFormat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libavif/apps/avifenc.c:677,1
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:678,1
    - Dst: memcpy
      Src: /src/libavif/apps/avifenc.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 684
    functionName: avifStrdup
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char * avifStrdup(const char * str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:692,1
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:693,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:695,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:696,1
    - Dst: memcpy
      Src: /src/libavif/apps/avifenc.c:702,1
    - Dst: memcpy
      Src: /src/libavif/apps/avifenc.c:703,1
    - Dst: avifStrdup
      Src: /src/libavif/apps/avifenc.c:706,1
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:707,1
    - Dst: memcpy
      Src: /src/libavif/apps/avifenc.c:711,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:716,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - options
    - key
    - keyLength
    - value
    argTypes:
    - avifCodecSpecificOptions*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 719
    functionName: avifCodecSpecificOptionsAddKeyValue
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - free
    - avifStrdup
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCodecSpecificOptionsAddKeyValue(avifCodecSpecificOptions
      * options, const char * key, size_t keyLength, const char * value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libavif/apps/avifenc.c:723,1
    - Dst: avifCodecSpecificOptionsAddKeyValue
      Src: /src/libavif/apps/avifenc.c:728,1
    - Dst: avifCodecSpecificOptionsAddKeyValue
      Src: /src/libavif/apps/avifenc.c:731,1
    - Dst: strlen
      Src: /src/libavif/apps/avifenc.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - options
    - keyValue
    argTypes:
    - avifCodecSpecificOptions*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 732
    functionName: avifCodecSpecificOptionsAdd
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - strlen
    - avifCodecSpecificOptionsAddKeyValue
    - strchr
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCodecSpecificOptionsAdd(avifCodecSpecificOptions * options,
      const char * keyValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:738,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:739,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:741,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - avifCodecSpecificOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 745
    functionName: avifCodecSpecificOptionsFree
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void avifCodecSpecificOptionsFree(avifCodecSpecificOptions * options)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - avifSettingsEntryInt*
    - avifSettingsEntryInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 753
    functionName: avifSettingsEntryIntOverwrite
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifSettingsEntryIntOverwrite(avifSettingsEntryInt * dst, const
      avifSettingsEntryInt * src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:757,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:758,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:759,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:760,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:761,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:762,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:763,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:764,1
    - Dst: avifSettingsEntryIntOverwrite
      Src: /src/libavif/apps/avifenc.c:765,1
    - Dst: avifCodecSpecificOptionsAddKeyValue
      Src: /src/libavif/apps/avifenc.c:773,1
    - Dst: strlen
      Src: /src/libavif/apps/avifenc.c:773,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - avifInputFileSettings*
    - avifInputFileSettings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 779
    functionName: avifInputFileSettingsOverwrite
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - strlen
    - avifSettingsEntryIntOverwrite
    - avifCodecSpecificOptionsAddKeyValue
    - fprintf
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifInputFileSettingsOverwrite(avifInputFileSettings * dst,
      const avifInputFileSettings * src)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderSetCodecSpecificOption
      Src: /src/libavif/apps/avifenc.c:824,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:826,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - encoder
    - settings
    argTypes:
    - avifEncoder*
    - avifInputFileSettings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 835
    functionName: avifEncodeUpdateEncoderSettings
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - avifEncoderSetCodecSpecificOption
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifEncodeUpdateEncoderSettings(avifEncoder * encoder, const
      avifInputFileSettings * settings)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:844,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:855,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:861,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - refImage
    - testImage
    - seriesType
    - filename
    argTypes:
    - avifImage*
    - avifImage*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 884
    functionName: avifEncoderVerifyImageCompatibility
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncoderVerifyImageCompatibility(const avifImage * refImage,\n
      \                                                   const avifImage * testImage,\n
      \                                                   const char * seriesType,\n
      \                                                   const char * filename)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avifInputGetFile
      Src: /src/libavif/apps/avifenc.c:897,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:901,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:903,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:905,1
    - Dst: avifInputReadImage
      Src: /src/libavif/apps/avifenc.c:917,1
    - Dst: avifEncoderVerifyImageCompatibility
      Src: /src/libavif/apps/avifenc.c:933,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:933,1
    - Dst: avifEncodeUpdateEncoderSettings
      Src: /src/libavif/apps/avifenc.c:936,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifenc.c:941,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:943,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:948,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:950,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:952,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/apps/avifenc.c:954,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:956,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifenc.c:956,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:965,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - encoder
    - settings
    - input
    - imageIndex
    - firstImage
    argTypes:
    - avifEncoder*
    - avifSettings*
    - avifInput*
    - int
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 886
    functionDepth: 7
    functionLinenumber: 886
    functionLinenumberEnd: 968
    functionName: avifEncodeRestOfImageSequence
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifInputReadImage
    - avifImageDestroy
    - avifInputGetFile
    - snprintf
    - fprintf
    - avifResultToString
    - printf
    - avifEncoderAddImage
    - qualityString
    - avifPrettyFilename
    - avifEncoderVerifyImageCompatibility
    - avifEncodeUpdateEncoderSettings
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncodeRestOfImageSequence(avifEncoder * encoder,\n                                              const
      avifSettings * settings,\n                                              avifInput
      * input,\n                                              int imageIndex,\n                                              const
      avifImage * firstImage)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifInputHasRemainingData
      Src: /src/libavif/apps/avifenc.c:986,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:987,1
    - Dst: avifInputGetFile
      Src: /src/libavif/apps/avifenc.c:997,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:1000,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:1003,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:1005,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1007,1
    - Dst: avifInputReadImage
      Src: /src/libavif/apps/avifenc.c:1019,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1037,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:1039,1
    - Dst: avifEncoderVerifyImageCompatibility
      Src: /src/libavif/apps/avifenc.c:1042,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:1042,1
    - Dst: avifEncodeUpdateEncoderSettings
      Src: /src/libavif/apps/avifenc.c:1045,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1051,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1054,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1056,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/apps/avifenc.c:1058,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1060,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifenc.c:1060,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:1068,1
    - Dst: avifInputHasRemainingData
      Src: /src/libavif/apps/avifenc.c:1068,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:1072,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - encoder
    - settings
    - input
    - layerIndex
    - firstImage
    argTypes:
    - avifEncoder*
    - avifSettings*
    - avifInput*
    - int
    - avifImage*
    assertStmts:
    - condition: (!avifInputHasRemainingData(input, layerIndex))
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/libavif/apps/avifenc.c
    - condition: (nextFile)
      pos:
        line_end: 999
        line_start: 999
        source_file: /src/libavif/apps/avifenc.c
    constantsTouched: []
    func_position:
      end: 1075
      start: 970
    functionDepth: 7
    functionLinenumber: 970
    functionLinenumberEnd: 1075
    functionName: avifEncodeRestOfLayeredImage
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifInputReadImage
    - avifImageDestroy
    - avifInputGetFile
    - avifResultToString
    - fprintf
    - avifInputHasRemainingData
    - printf
    - assert
    - avifEncoderAddImage
    - qualityString
    - avifPrettyFilename
    - avifEncoderVerifyImageCompatibility
    - avifEncodeUpdateEncoderSettings
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncodeRestOfLayeredImage(avifEncoder * encoder,\n                                             const
      avifSettings * settings,\n                                             avifInput
      * input,\n                                             int layerIndex,\n                                             const
      avifImage * firstImage)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:1086,1
    - Dst: avifEncoderCreate
      Src: /src/libavif/apps/avifenc.c:1087,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1089,1
    - Dst: avifEncodeUpdateEncoderSettings
      Src: /src/libavif/apps/avifenc.c:1103,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1126,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifenc.c:1130,1
    - Dst: strcpy
      Src: /src/libavif/apps/avifenc.c:1133,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifenc.c:1135,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifenc.c:1140,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1140,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifenc.c:1145,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1147,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1151,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1153,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:1161,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1168,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1171,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1173,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/apps/avifenc.c:1178,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1180,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifenc.c:1180,1
    - Dst: avifInputHasRemainingData
      Src: /src/libavif/apps/avifenc.c:1187,1
    - Dst: snprintf
      Src: /src/libavif/apps/avifenc.c:1194,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1200,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1205,1
    - Dst: qualityString
      Src: /src/libavif/apps/avifenc.c:1207,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:1209,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/apps/avifenc.c:1211,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1213,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifenc.c:1213,1
    - Dst: avifEncodeRestOfLayeredImage
      Src: /src/libavif/apps/avifenc.c:1218,1
    - Dst: avifEncodeRestOfImageSequence
      Src: /src/libavif/apps/avifenc.c:1224,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/apps/avifenc.c:1230,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1232,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifenc.c:1232,1
    - Dst: avifEncoderGetGainMapSizeBytes
      Src: /src/libavif/apps/avifenc.c:1239,1
    - Dst: avifDumpDiagnostics
      Src: /src/libavif/apps/avifenc.c:1245,1
    - Dst: avifEncoderDestroy
      Src: /src/libavif/apps/avifenc.c:1247,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 110
    argCount: 7
    argNames:
    - settings
    - input
    - firstFile
    - firstImage
    - gridCells
    - encoded
    - byteSizes
    argTypes:
    - avifSettings*
    - avifInput*
    - avifInputFile*
    - avifImage*
    - avifImage**
    - avifRWData*
    - avifEncodedByteSizes*
    assertStmts:
    - condition: (encoder->quality >= PROGRESSIVE_WORST_QUALITY)
      pos:
        line_end: 1160
        line_start: 1160
        source_file: /src/libavif/apps/avifenc.c
    constantsTouched: []
    func_position:
      end: 1250
      start: 1077
    functionDepth: 8
    functionLinenumber: 1077
    functionLinenumberEnd: 1250
    functionName: avifEncodeImagesFixedQuality
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - avifPrettyFilename
    - avifEncodeUpdateEncoderSettings
    - avifEncoderAddImageGrid
    - strcpy
    - avifEncoderAddImage
    - avifEncodeRestOfImageSequence
    - avifEncoderFinish
    - avifEncoderCreate
    - avifResultToString
    - avifEncoderGetGainMapSizeBytes
    - printf
    - avifInputHasRemainingData
    - avifRWDataFree
    - avifDumpDiagnostics
    - avifEncoderDestroy
    - qualityString
    - snprintf
    - avifEncodeRestOfLayeredImage
    - avifCodecName
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncodeImagesFixedQuality(const avifSettings * settings,\n
      \                                            avifInput * input,\n                                             const
      avifInputFile * firstFile,\n                                             const
      avifImage * firstImage,\n                                             const
      avifImage * const * gridCells,\n                                             avifRWData
      * encoded,\n                                             avifEncodedByteSizes
      * byteSizes)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avifEncodeImagesFixedQuality
      Src: /src/libavif/apps/avifenc.c:1261,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1274,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1278,1
    - Dst: avifEncodeImagesFixedQuality
      Src: /src/libavif/apps/avifenc.c:1305,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:1306,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1309,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:1326,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:1341,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1344,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1346,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1350,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1352,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:1354,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 7
    argNames:
    - settings
    - input
    - firstFile
    - firstImage
    - gridCells
    - encoded
    - byteSizes
    argTypes:
    - avifSettings*
    - avifInput*
    - avifInputFile*
    - avifImage*
    - avifImage**
    - avifRWData*
    - avifEncodedByteSizes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1252
    functionDepth: 9
    functionLinenumber: 1252
    functionLinenumberEnd: 1356
    functionName: avifEncodeImages
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - avifRWDataFree
    - avifEncodeImagesFixedQuality
    - fprintf
    - printf
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifEncodeImages(avifSettings * settings,\n                                 avifInput
      * input,\n                                 const avifInputFile * firstFile,\n
      \                                const avifImage * firstImage,\n                                 const
      avifImage * const * gridCells,\n                                 avifRWData
      * encoded,\n                                 avifEncodedByteSizes * byteSizes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - input
    - filePath
    - duration
    - pendingSettings
    argTypes:
    - avifInput*
    - char*
    - uint64_t
    - avifInputFileSettings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1365
    functionName: avifInputAdd
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avifInputAdd(avifInput * input, const char * filePath, uint64_t
      duration, avifInputFileSettings * pendingSettings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - minQuantizer
    - maxQuantizer
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1374
    functionName: quantizerToQuality
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quantizerToQuality(int minQuantizer, int maxQuantizer)
  - BBCount: 248
    BranchProfiles: []
    Callsites:
    - Dst: syntaxShort
      Src: /src/libavif/apps/avifenc.c:1379,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:1386,1
    - Dst: malloc
      Src: /src/libavif/apps/avifenc.c:1387,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1389,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:1400,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:1426,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1456,1
    - Dst: avifInputAdd
      Src: /src/libavif/apps/avifenc.c:1462,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1466,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1466,1
    - Dst: syntaxLong
      Src: /src/libavif/apps/avifenc.c:1467,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1470,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1470,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifenc.c:1471,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1474,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1476,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1476,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1477,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1478,1
    - Dst: avifQueryCPUCount
      Src: /src/libavif/apps/avifenc.c:1479,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1481,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1486,1
    - Dst: avifInputAdd
      Src: /src/libavif/apps/avifenc.c:1487,1
    - Dst: avifInputFileSettingsOverwrite
      Src: /src/libavif/apps/avifenc.c:1497,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1498,1
    - Dst: avifCodecSpecificOptionsFree
      Src: /src/libavif/apps/avifenc.c:1501,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:1503,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1514,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1517,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1518,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1519,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1519,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1521,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1523,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1525,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1528,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1531,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1531,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1532,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1535,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1538,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1538,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1539,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1541,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1541,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1544,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1550,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1553,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1553,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1554,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1555,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1557,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1559,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1561,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1564,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1567,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1567,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1568,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1569,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1570,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1570,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1570,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1570,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1573,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1577,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1578,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1586,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1588,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1590,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1590,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1591,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1595,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1596,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1604,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1606,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1608,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1608,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1609,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1613,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1614,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1622,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1624,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1626,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1626,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1627,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1631,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1632,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1640,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1642,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1644,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1644,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1645,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1649,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1650,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1658,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1660,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1662,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1662,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1663,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1667,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1668,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1676,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1678,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1680,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1681,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1682,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1686,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1686,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1687,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1691,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1692,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1700,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1702,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1704,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1704,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1705,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1709,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1710,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1718,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1720,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1722,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1722,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1723,1
    - Dst: boolSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1728,1
    - Dst: boolSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1730,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1732,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1734,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1738,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1740,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1744,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1744,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1745,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1749,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1751,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1751,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1752,1
    - Dst: scalingModeSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1756,1
    - Dst: scalingModeSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:1758,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1760,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1760,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1761,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1762,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1763,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1769,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1772,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1772,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1773,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1775,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1776,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1783,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1783,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1784,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1785,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1785,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1787,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1787,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1790,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1793,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1793,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1794,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1795,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1795,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1798,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1806,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1807,1
    - Dst: avifReadEntireFile
      Src: /src/libavif/apps/avifenc.c:1808,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1809,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1813,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1814,1
    - Dst: avifReadEntireFile
      Src: /src/libavif/apps/avifenc.c:1815,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1816,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1820,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1821,1
    - Dst: avifReadEntireFile
      Src: /src/libavif/apps/avifenc.c:1822,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1823,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1827,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1827,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1829,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1833,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1834,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1836,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1840,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1840,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1841,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1842,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1844,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1848,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1849,1
    - Dst: strtoll
      Src: /src/libavif/apps/avifenc.c:1850,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1852,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1857,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1862,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1863,1
    - Dst: strtoll
      Src: /src/libavif/apps/avifenc.c:1864,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1866,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1871,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1876,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1876,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1877,1
    - Dst: avifCodecChoiceFromName
      Src: /src/libavif/apps/avifenc.c:1878,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1880,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifenc.c:1883,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1885,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1889,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1889,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1889,1
    - Dst: strpre
      Src: /src/libavif/apps/avifenc.c:1889,1
    - Dst: parseOptionSuffix
      Src: /src/libavif/apps/avifenc.c:1890,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1894,1
    - Dst: avifCodecSpecificOptionsAdd
      Src: /src/libavif/apps/avifenc.c:1897,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1898,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1901,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1903,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1905,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1905,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1908,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1910,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1911,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1912,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1922,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1923,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1924,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1925,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1929,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1930,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1931,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1932,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1936,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1937,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1938,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1939,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1943,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1944,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1945,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1947,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1950,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1951,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1952,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1954,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1957,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1958,1
    - Dst: parseU32List
      Src: /src/libavif/apps/avifenc.c:1959,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1961,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1965,1
    - Dst: NEXTARG
      Src: /src/libavif/apps/avifenc.c:1966,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1967,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:1970,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1972,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1976,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1976,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1978,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1978,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:1980,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:1983,1
    - Dst: syntaxLong
      Src: /src/libavif/apps/avifenc.c:1984,1
    - Dst: avifInputAdd
      Src: /src/libavif/apps/avifenc.c:1988,1
    - Dst: avifQueryCPUCount
      Src: /src/libavif/apps/avifenc.c:2004,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2012,1
    - Dst: avifCodecName
      Src: /src/libavif/apps/avifenc.c:2018,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:2019,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2020,1
    - Dst: strcmp
      Src: /src/libavif/apps/avifenc.c:2022,1
    - Dst: avifCodecVersions
      Src: /src/libavif/apps/avifenc.c:2024,1
    - Dst: strstr
      Src: /src/libavif/apps/avifenc.c:2026,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2029,1
    - Dst: strstr
      Src: /src/libavif/apps/avifenc.c:2029,1
    - Dst: strstr
      Src: /src/libavif/apps/avifenc.c:2029,1
    - Dst: strlen
      Src: /src/libavif/apps/avifenc.c:2032,1
    - Dst: atoi
      Src: /src/libavif/apps/avifenc.c:2033,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2035,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2042,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2050,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2057,1
    - Dst: memset
      Src: /src/libavif/apps/avifenc.c:2062,1
    - Dst: memcmp
      Src: /src/libavif/apps/avifenc.c:2067,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2068,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2073,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2078,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2083,1
    - Dst: fileExists
      Src: /src/libavif/apps/avifenc.c:2087,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2088,1
    - Dst: setmode
      Src: /src/libavif/apps/avifenc.c:2094,1
    - Dst: fileno
      Src: /src/libavif/apps/avifenc.c:2094,1
    - Dst: memcmp
      Src: /src/libavif/apps/avifenc.c:2098,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2099,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2104,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2106,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2118,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2126,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2140,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2146,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2148,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2149,1
    - Dst: boolSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2152,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2160,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2168,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2173,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2175,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2187,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:2189,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2193,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:2195,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2199,1
    - Dst: quantizerToQuality
      Src: /src/libavif/apps/avifenc.c:2204,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2207,1
    - Dst: quantizerToQuality
      Src: /src/libavif/apps/avifenc.c:2212,1
    - Dst: boolSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2216,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2219,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2222,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2229,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2230,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2231,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2232,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2233,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2234,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2240,1
    - Dst: quantizerToQuality
      Src: /src/libavif/apps/avifenc.c:2242,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2243,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2246,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2248,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2250,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2251,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2255,1
    - Dst: quantizerToQuality
      Src: /src/libavif/apps/avifenc.c:2258,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2259,1
    - Dst: assert
      Src: /src/libavif/apps/avifenc.c:2262,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2266,1
    - Dst: intSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2267,1
    - Dst: scalingModeSettingsEntryOf
      Src: /src/libavif/apps/avifenc.c:2272,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:2277,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2279,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2299,1
    - Dst: avifInputGetFile
      Src: /src/libavif/apps/avifenc.c:2308,1
    - Dst: avifInputReadImage
      Src: /src/libavif/apps/avifenc.c:2315,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2339,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2344,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2348,1
    - Dst: avifPrettyFilename
      Src: /src/libavif/apps/avifenc.c:2348,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/avifenc.c:2365,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/apps/avifenc.c:2366,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/apps/avifenc.c:2367,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2368,1
    - Dst: convertCropToClap
      Src: /src/libavif/apps/avifenc.c:2400,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/apps/avifenc.c:2419,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/apps/avifenc.c:2420,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2421,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2459,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2466,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2473,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2480,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2489,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2497,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2505,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2515,1
    - Dst: calloc
      Src: /src/libavif/apps/avifenc.c:2517,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2519,1
    - Dst: avifInputGetFile
      Src: /src/libavif/apps/avifenc.c:2526,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2528,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2532,1
    - Dst: memcmp
      Src: /src/libavif/apps/avifenc.c:2541,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2542,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/avifenc.c:2546,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2548,1
    - Dst: avifInputReadImage
      Src: /src/libavif/apps/avifenc.c:2560,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2582,1
    - Dst: avifImageSplitGrid
      Src: /src/libavif/apps/avifenc.c:2586,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2590,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2599,1
    - Dst: avifImageDump
      Src: /src/libavif/apps/avifenc.c:2601,1
    - Dst: avifEncodeImages
      Src: /src/libavif/apps/avifenc.c:2607,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2611,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2612,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2613,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2615,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2619,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2621,1
    - Dst: fileExists
      Src: /src/libavif/apps/avifenc.c:2624,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2626,1
    - Dst: fopen
      Src: /src/libavif/apps/avifenc.c:2629,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2631,1
    - Dst: fwrite
      Src: /src/libavif/apps/avifenc.c:2634,1
    - Dst: fprintf
      Src: /src/libavif/apps/avifenc.c:2635,1
    - Dst: printf
      Src: /src/libavif/apps/avifenc.c:2638,1
    - Dst: fclose
      Src: /src/libavif/apps/avifenc.c:2640,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:2647,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:2650,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:2652,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:2655,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:2657,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:2658,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:2659,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifenc.c:2660,1
    - Dst: avifCodecSpecificOptionsFree
      Src: /src/libavif/apps/avifenc.c:2661,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifenc.c:2665,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:2668,1
    - Dst: avifCodecSpecificOptionsFree
      Src: /src/libavif/apps/avifenc.c:2672,1
    - Dst: free
      Src: /src/libavif/apps/avifenc.c:2674,1
    CyclomaticComplexity: 459
    EdgeCount: 459
    ICount: 1098
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (!fileSettings->maxQuantizerAlpha.set)
      pos:
        line_end: 2261
        line_start: 2261
        source_file: /src/libavif/apps/avifenc.c
    - condition: (strstr(versions, "svt") == NULL && strstr(versions, "SVT") == NULL)
      pos:
        line_end: 2028
        line_start: 2028
        source_file: /src/libavif/apps/avifenc.c
    - condition: (fileSettings->maxQuantizer.set)
      pos:
        line_end: 2239
        line_start: 2239
        source_file: /src/libavif/apps/avifenc.c
    - condition: (!settings.layered)
      pos:
        line_end: 2103
        line_start: 2103
        source_file: /src/libavif/apps/avifenc.c
    - condition: (!fileSettings->maxQuantizer.set)
      pos:
        line_end: 2245
        line_start: 2245
        source_file: /src/libavif/apps/avifenc.c
    - condition: (fileSettings->autoTiling.value)
      pos:
        line_end: 2145
        line_start: 2145
        source_file: /src/libavif/apps/avifenc.c
    - condition: (DEFAULT_QUALITY >= PROGRESSIVE_WORST_QUALITY)
      pos:
        line_end: 2172
        line_start: 2172
        source_file: /src/libavif/apps/avifenc.c
    - condition: (fileSettings->maxQuantizerAlpha.set)
      pos:
        line_end: 2254
        line_start: 2254
        source_file: /src/libavif/apps/avifenc.c
    constantsTouched: []
    func_position:
      end: 2677
      start: 1376
    functionDepth: 10
    functionLinenumber: 1376
    functionLinenumberEnd: 2677
    functionName: main
    functionSourceFile: /src/libavif/apps/avifenc.c
    functionUses: 0
    functionsReached:
    - parseU32List
    - fprintf
    - atoi
    - fileExists
    - avifInputAdd
    - avifCodecVersions
    - avifImageSetMetadataExif
    - free
    - assert
    - malloc
    - syntaxLong
    - avifPrettyFilename
    - setmode
    - quantizerToQuality
    - avifInputGetFile
    - avifImageSetProfileICC
    - avifInputFileSettingsOverwrite
    - parseOptionSuffix
    - convertCropToClap
    - intSettingsEntryOf
    - strcmp
    - strpre
    - memset
    - avifPrintVersions
    - scalingModeSettingsEntryOf
    - avifCodecSpecificOptionsFree
    - fileno
    - avifImageSetMetadataXMP
    - NEXTARG
    - fopen
    - avifCodecSpecificOptionsAdd
    - avifCropRectFromCleanApertureBox
    - fwrite
    - avifImageDump
    - syntaxShort
    - printf
    - strlen
    - memcmp
    - avifRWDataFree
    - avifDiagnosticsClearError
    - fclose
    - strstr
    - avifImageSplitGrid
    - boolSettingsEntryOf
    - avifCodecChoiceFromName
    - avifInputReadImage
    - avifImageDestroy
    - strtoll
    - avifQueryCPUCount
    - avifReadEntireFile
    - avifEncodeImages
    - avifCodecName
    - calloc
    - avifImageCreateEmpty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: AVIF_MIN
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: AVIF_MAX
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libavif/apps/shared/avifjpeg.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: my_error_exit
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void my_error_exit(j_common_ptr cinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_start_decompress
      Src: /src/libavif/apps/shared/avifjpeg.c:54,1
    - Dst: AVIF_MAX
      Src: /src/libavif/apps/shared/avifjpeg.c:79,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/apps/shared/avifjpeg.c:82,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/apps/shared/avifjpeg.c:83,1
    - Dst: jpeg_read_raw_data
      Src: /src/libavif/apps/shared/avifjpeg.c:107,1
    - Dst: AVIF_MIN
      Src: /src/libavif/apps/shared/avifjpeg.c:110,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - avif
    - sizeLimit
    - cinfo
    argTypes:
    - avifImage*
    - uint32_t
    - struct jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 120
    functionName: avifJPEGCopyPixels
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - AVIF_MIN
    - jpeg_start_decompress
    - avifImageAllocatePlanes
    - jpeg_read_raw_data
    - memcpy
    - avifImageFreePlanes
    - AVIF_MAX
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGCopyPixels(avifImage * avif, uint32_t sizeLimit, struct
      jpeg_decompress_struct * cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - matrixCoefficients
    argTypes:
    - avifMatrixCoefficients
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: avifJPEGHasCompatibleMatrixCoefficients
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGHasCompatibleMatrixCoefficients(avifMatrixCoefficients
      matrixCoefficients)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: avifJPEGHasCompatibleMatrixCoefficients
      Src: /src/libavif/apps/shared/avifjpeg.c:143,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:166,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:174,1
    - Dst: avifJPEGHasCompatibleMatrixCoefficients
      Src: /src/libavif/apps/shared/avifjpeg.c:182,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:188,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:195,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/apps/shared/avifjpeg.c:199,1
    - Dst: memset
      Src: /src/libavif/apps/shared/avifjpeg.c:200,1
    - Dst: memset
      Src: /src/libavif/apps/shared/avifjpeg.c:201,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:212,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:216,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:217,1
    - Dst: avifJPEGCopyPixels
      Src: /src/libavif/apps/shared/avifjpeg.c:231,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 68
    argCount: 3
    argNames:
    - avif
    - sizeLimit
    - cinfo
    argTypes:
    - avifImage*
    - uint32_t
    - struct jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 237
    functionName: avifJPEGReadCopy
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - memset
    - avifImagePlaneHeight
    - avifJPEGHasCompatibleMatrixCoefficients
    - memcpy
    - avifJPEGCopyPixels
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGReadCopy(avifImage * avif, uint32_t sizeLimit, struct
      jpeg_decompress_struct * cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: avifJPEGReadUint32BigEndian
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifJPEGReadUint32BigEndian(const uint8_t * src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - str
    - strLength
    - substr
    - substrLength
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: avifJPEGFindSubstr
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * avifJPEGFindSubstr(const uint8_t * str, size_t strLength,
      const uint8_t * substr, size_t substrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: AVIF_CHECK
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: avifJPEGReadUint32LittleEndian
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avifJPEGReadUint32LittleEndian(const uint8_t * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: avifJPEGReadUint16BigEndian
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifJPEGReadUint16BigEndian(const uint8_t * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: avifJPEGReadUint16LittleEndian
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t avifJPEGReadUint16LittleEndian(const uint8_t * src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - bytes
    - offset
    - numBytes
    argTypes:
    - avifROData*
    - uint8_t*
    - size_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: avifJPEGReadBytes
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGReadBytes(const avifROData * data, uint8_t * bytes,
      size_t * offset, uint32_t numBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:327,1
    - Dst: avifJPEGReadBytes
      Src: /src/libavif/apps/shared/avifjpeg.c:327,1
    - Dst: avifJPEGReadUint32BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:328,1
    - Dst: avifJPEGReadUint32LittleEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - v
    - offset
    - isBigEndian
    argTypes:
    - avifROData*
    - uint32_t*
    - size_t*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: avifJPEGReadU32
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGReadUint32LittleEndian
    - avifJPEGReadUint32BigEndian
    - avifJPEGReadBytes
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGReadU32(const avifROData * data, uint32_t * v, size_t
      * offset, avifBool isBigEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:335,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - v
    - offset
    - isBigEndian
    argTypes:
    - avifROData*
    - int32_t*
    - size_t*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: avifJPEGReadS32
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGReadU32
    - AVIF_CHECK
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGReadS32(const avifROData * data, int32_t * v, size_t
      * offset, avifBool isBigEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:343,1
    - Dst: avifJPEGReadBytes
      Src: /src/libavif/apps/shared/avifjpeg.c:343,1
    - Dst: avifJPEGReadUint16BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:344,1
    - Dst: avifJPEGReadUint16LittleEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - v
    - offset
    - isBigEndian
    argTypes:
    - avifROData*
    - uint16_t*
    - size_t*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: avifJPEGReadU16
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGReadUint16BigEndian
    - avifJPEGReadBytes
    - AVIF_CHECK
    - avifJPEGReadUint16LittleEndian
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGReadU16(const avifROData * data, uint16_t * v, size_t
      * offset, avifBool isBigEndian)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/apps/shared/avifjpeg.c:367,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:376,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:376,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:393,1
    - Dst: avifJPEGReadU16
      Src: /src/libavif/apps/shared/avifjpeg.c:393,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:400,1
    - Dst: avifJPEGReadU16
      Src: /src/libavif/apps/shared/avifjpeg.c:400,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:401,1
    - Dst: avifJPEGReadU16
      Src: /src/libavif/apps/shared/avifjpeg.c:401,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:402,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:402,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:403,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:403,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:411,1
    - Dst: avifJPEGReadBytes
      Src: /src/libavif/apps/shared/avifjpeg.c:411,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:414,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:434,1
    - Dst: avifJPEGReadS32
      Src: /src/libavif/apps/shared/avifjpeg.c:434,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:435,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:435,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:450,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:450,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - exif
    - altHeadroom
    argTypes:
    - avifROData*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 476
    functionName: avifGetExifAppleHeadroom
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGReadS32
    - avifGetExifTiffHeaderOffset
    - memcmp
    - avifJPEGReadU16
    - AVIF_CHECK
    - avifJPEGReadBytes
    - avifJPEGReadU32
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGetExifAppleHeadroom(const avifROData * exif, double *
      altHeadroom)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libavif/apps/shared/avifjpeg.c:496,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:502,1
    - Dst: fread
      Src: /src/libavif/apps/shared/avifjpeg.c:511,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:512,1
    - Dst: avifJPEGReadUint16BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:518,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:520,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:525,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:526,1
    - Dst: fread
      Src: /src/libavif/apps/shared/avifjpeg.c:533,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:534,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:539,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:542,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:548,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - f
    - mpfOffset
    argTypes:
    - FILE*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 554
    functionName: avifJPEGFindMpfSegmentOffset
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ftell
    - fread
    - avifJPEGReadUint16BigEndian
    - fseek
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGFindMpfSegmentOffset(FILE * f, uint32_t * mpfOffset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:564,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:565,1
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - parentNode
    - nameSpace
    - nodeName
    - recursive
    argTypes:
    - xmlNode*
    - char*
    - char*
    - avifBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 575
    functionName: avifJPEGFindXMLNodeByName
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 1
    functionsReached:
    - xmlStrcmp
    - avifJPEGFindXMLNodeByName
    linkageType: ''
    returnType: xmlNode
    signature: xmlNode * avifJPEGFindXMLNodeByName(const xmlNode * parentNode, const
      char * nameSpace, const char * nodeName, avifBool recursive)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:589,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:597,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:598,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:601,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:602,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:603,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - rootNode
    argTypes:
    - xmlNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: avifJPEGFindIsoGainMapXMPNode
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindXMLNodeByName
    - xmlStrcmp
    linkageType: ''
    returnType: xmlNode
    signature: xmlNode * avifJPEGFindIsoGainMapXMPNode(const xmlNode * rootNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:618,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:626,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:627,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:630,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - rootNode
    argTypes:
    - xmlNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 638
    functionName: avifJPEGFindAppleGainMapXMPNode
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindXMLNodeByName
    - xmlStrcmp
    linkageType: ''
    returnType: xmlNode
    signature: xmlNode * avifJPEGFindAppleGainMapXMPNode(const xmlNode * rootNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifJPEGFindIsoGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:645,1
    - Dst: avifJPEGFindAppleGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rootNode
    - isAppleGainMap
    argTypes:
    - xmlNode*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 657
    functionName: avifJPEGFindGainMapXMPNode
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindAppleGainMapXMPNode
    - avifJPEGFindIsoGainMapXMPNode
    linkageType: ''
    returnType: xmlNode
    signature: xmlNode * avifJPEGFindGainMapXMPNode(const xmlNode * rootNode, avifBool
      * isAppleGainMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlReadMemory
      Src: /src/libavif/apps/shared/avifjpeg.c:667,1
    - Dst: xmlDocGetRootElement
      Src: /src/libavif/apps/shared/avifjpeg.c:671,1
    - Dst: avifJPEGFindGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:672,1
    - Dst: xmlFreeDoc
      Src: /src/libavif/apps/shared/avifjpeg.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - xmpData
    - xmpSize
    - isAppleGainMap
    argTypes:
    - uint8_t*
    - size_t
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 4
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: avifJPEGHasGainMapXMPNode
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - xmlFreeDoc
    - avifJPEGFindGainMapXMPNode
    - xmlReadMemory
    - xmlDocGetRootElement
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGHasGainMapXMPNode(const uint8_t * xmpData, size_t
      xmpSize, avifBool * isAppleGainMap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:694,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:695,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:706,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:707,1
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:709,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:712,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 6
    argNames:
    - descriptionNode
    - propertyName
    - maxValues
    - values
    - numValues
    - nameSpace
    argTypes:
    - xmlNode*
    - char*
    - uint32_t
    - char*[]
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 732
    functionName: avifJPEGFindGainMapProperty
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - xmlStrcmp
    - avifJPEGFindXMLNodeByName
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGFindGainMapProperty(const xmlNode * descriptionNode,\n
      \                                           const char * propertyName,\n                                            uint32_t
      maxValues,\n                                            const char * values[],\n
      \                                           uint32_t * numValues,\n                                            const
      char * nameSpace)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/apps/shared/avifjpeg.c:748,1
    - Dst: avifJPEGFindGainMapProperty
      Src: /src/libavif/apps/shared/avifjpeg.c:751,1
    - Dst: sscanf
      Src: /src/libavif/apps/shared/avifjpeg.c:763,1
    - Dst: strlen
      Src: /src/libavif/apps/shared/avifjpeg.c:767,1
    - Dst: isspace
      Src: /src/libavif/apps/shared/avifjpeg.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - descriptionNode
    - propertyName
    - values
    - numDoubles
    - nameSpace
    argTypes:
    - xmlNode*
    - char*
    - double*
    - uint32_t
    - char*
    assertStmts:
    - condition: (numDoubles <= GAIN_MAP_PROPERTY_MAX_VALUES)
      pos:
        line_end: 747
        line_start: 747
        source_file: /src/libavif/apps/shared/avifjpeg.c
    constantsTouched: []
    func_position:
      end: 778
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 778
    functionName: avifJPEGFindGainMapPropertyDoubles
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindGainMapProperty
    - strlen
    - sscanf
    - assert
    - isspace
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGFindGainMapPropertyDoubles(const xmlNode * descriptionNode,\n
      \                                                  const char * propertyName,\n
      \                                                  double * values,\n                                                   uint32_t
      numDoubles,\n                                                   const char *
      nameSpace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: SwapDoubles
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwapDoubles(double * x, double * y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:790,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:790,1
    - Dst: log2
      Src: /src/libavif/apps/shared/avifjpeg.c:794,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:797,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:797,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:812,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - descNode
    - gainMap
    argTypes:
    - xmlNode*
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 787
    functionDepth: 4
    functionLinenumber: 787
    functionLinenumberEnd: 815
    functionName: avifJPEGParseGainMapXMPPropertiesAppleFormat
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifDoubleToUnsignedFraction
    - avifDoubleToSignedFraction
    - avifJPEGFindGainMapPropertyDoubles
    - AVIF_CHECK
    - log2
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGParseGainMapXMPPropertiesAppleFormat(const xmlNode
      * descNode, avifGainMap * gainMap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifJPEGFindGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:822,1
    - Dst: avifJPEGParseGainMapXMPPropertiesAppleFormat
      Src: /src/libavif/apps/shared/avifjpeg.c:827,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:838,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:838,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:839,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:839,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:840,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:840,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:841,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:841,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:842,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:842,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:843,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:843,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:844,1
    - Dst: avifJPEGFindGainMapPropertyDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:844,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:846,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:847,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:849,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:850,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:851,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:852,1
    - Dst: avifJPEGFindGainMapProperty
      Src: /src/libavif/apps/shared/avifjpeg.c:857,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:858,1
    - Dst: SwapDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:859,1
    - Dst: SwapDoubles
      Src: /src/libavif/apps/shared/avifjpeg.c:861,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:863,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:870,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:870,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:871,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:871,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:872,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:872,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:873,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:873,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:874,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:874,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:876,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:876,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:877,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - rootNode
    - gainMap
    - isAppleGainMap
    argTypes:
    - xmlNode*
    - avifGainMap*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 820
    functionDepth: 5
    functionLinenumber: 820
    functionLinenumberEnd: 882
    functionName: avifJPEGParseGainMapXMPProperties
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindGainMapXMPNode
    - avifJPEGFindGainMapProperty
    - avifJPEGParseGainMapXMPPropertiesAppleFormat
    - avifDoubleToUnsignedFraction
    - avifDoubleToSignedFraction
    - avifJPEGFindGainMapPropertyDoubles
    - AVIF_CHECK
    - strcmp
    - SwapDoubles
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGParseGainMapXMPProperties(const xmlNode * rootNode,
      avifGainMap * gainMap, avifBool * isAppleGainMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlReadMemory
      Src: /src/libavif/apps/shared/avifjpeg.c:888,1
    - Dst: xmlDocGetRootElement
      Src: /src/libavif/apps/shared/avifjpeg.c:892,1
    - Dst: avifJPEGParseGainMapXMPProperties
      Src: /src/libavif/apps/shared/avifjpeg.c:893,1
    - Dst: xmlFreeDoc
      Src: /src/libavif/apps/shared/avifjpeg.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - xmpData
    - xmpSize
    - gainMap
    - isAppleGainMap
    argTypes:
    - uint8_t*
    - size_t
    - avifGainMap*
    - avifBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 896
    functionName: avifJPEGParseGainMapXMP
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 28
    functionsReached:
    - xmlFreeDoc
    - avifJPEGParseGainMapXMPProperties
    - xmlReadMemory
    - xmlDocGetRootElement
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGParseGainMapXMP(const uint8_t * xmpData, size_t xmpSize,
      avifGainMap * gainMap, avifBool * isAppleGainMap)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:915,1
    - Dst: avifJPEGReadBytes
      Src: /src/libavif/apps/shared/avifjpeg.c:915,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:918,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:920,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:927,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:927,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:935,1
    - Dst: avifJPEGReadU16
      Src: /src/libavif/apps/shared/avifjpeg.c:935,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:942,1
    - Dst: avifJPEGReadU16
      Src: /src/libavif/apps/shared/avifjpeg.c:942,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:949,1
    - Dst: avifJPEGReadBytes
      Src: /src/libavif/apps/shared/avifjpeg.c:949,1
    - Dst: avifJPEGReadUint32BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:950,1
    - Dst: avifJPEGReadUint32LittleEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:950,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:954,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:977,1
    - Dst: avifJPEGFindMpfSegmentOffset
      Src: /src/libavif/apps/shared/avifjpeg.c:977,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:985,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:985,1
    - Dst: AVIF_CHECK
      Src: /src/libavif/apps/shared/avifjpeg.c:987,1
    - Dst: avifJPEGReadU32
      Src: /src/libavif/apps/shared/avifjpeg.c:987,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifjpeg.c:1001,1
    - Dst: avifJPEGReadInternal
      Src: /src/libavif/apps/shared/avifjpeg.c:1008,1
    - Dst: avifJPEGHasGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:1021,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 5
    argNames:
    - f
    - sizeLimit
    - segmentData
    - avif
    - chromaDownsampling
    argTypes:
    - FILE*
    - uint32_t
    - avifROData*
    - avifImage*
    - avifChromaDownsampling
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 1027
    functionName: avifJPEGExtractGainMapImageFromMpf
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifJPEGFindMpfSegmentOffset
    - avifJPEGHasGainMapXMPNode
    - memcmp
    - avifJPEGReadU16
    - avifJPEGReadUint32BigEndian
    - avifJPEGReadUint32LittleEndian
    - AVIF_CHECK
    - avifJPEGReadInternal
    - avifJPEGReadBytes
    - fseek
    - avifJPEGReadU32
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGExtractGainMapImageFromMpf(FILE * f,\n                                                   uint32_t
      sizeLimit,\n                                                   const avifROData
      * segmentData,\n                                                   avifImage
      * avif,\n                                                   avifChromaDownsampling
      chromaDownsampling)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - struct jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: hasMpfSegment
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool hasMpfSegment(struct jpeg_decompress_struct * cinfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1062,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/shared/avifjpeg.c:1063,1
    - Dst: assert
      Src: /src/libavif/apps/shared/avifjpeg.c:1066,1
    - Dst: avifJPEGHasCompatibleMatrixCoefficients
      Src: /src/libavif/apps/shared/avifjpeg.c:1066,1
    - Dst: avifJPEGExtractGainMapImageFromMpf
      Src: /src/libavif/apps/shared/avifjpeg.c:1069,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1072,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1074,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/shared/avifjpeg.c:1076,1
    - Dst: avifJPEGParseGainMapXMP
      Src: /src/libavif/apps/shared/avifjpeg.c:1081,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1082,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/shared/avifjpeg.c:1083,1
    - Dst: avifGetExifAppleHeadroom
      Src: /src/libavif/apps/shared/avifjpeg.c:1091,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:1092,1
    - Dst: avifDoubleToSignedFraction
      Src: /src/libavif/apps/shared/avifjpeg.c:1093,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1094,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/shared/avifjpeg.c:1095,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 7
    argNames:
    - f
    - sizeLimit
    - cinfo
    - baseImage
    - gainMap
    - chromaDownsampling
    - expectIsoGainMap
    argTypes:
    - FILE*
    - uint32_t
    - struct jpeg_decompress_struct*
    - avifImage*
    - avifGainMap*
    - avifChromaDownsampling
    - avifBool
    assertStmts:
    - condition: (avifJPEGHasCompatibleMatrixCoefficients(image->matrixCoefficients))
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/libavif/apps/shared/avifjpeg.c
    constantsTouched: []
    func_position:
      end: 1107
      start: 1048
    functionDepth: 7
    functionLinenumber: 1048
    functionLinenumberEnd: 1107
    functionName: avifJPEGExtractGainMapImage
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    - fprintf
    - avifJPEGParseGainMapXMP
    - memcmp
    - avifJPEGHasCompatibleMatrixCoefficients
    - avifDoubleToUnsignedFraction
    - assert
    - avifDoubleToSignedFraction
    - avifJPEGExtractGainMapImageFromMpf
    - avifGetExifAppleHeadroom
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGExtractGainMapImage(FILE * f,\n                                            uint32_t
      sizeLimit,\n                                            struct jpeg_decompress_struct
      * cinfo,\n                                            avifImage * baseImage,\n
      \                                           avifGainMap * gainMap,\n                                            avifChromaDownsampling
      chromaDownsampling,\n                                            avifBool expectIsoGainMap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xmlReadMemory
      Src: /src/libavif/apps/shared/avifjpeg.c:1121,1
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:1122,1
    - Dst: xmlDocGetRootElement
      Src: /src/libavif/apps/shared/avifjpeg.c:1122,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1127,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1137,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1138,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1143,1
    - Dst: xmlStrcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1144,1
    - Dst: xmlUnlinkNode
      Src: /src/libavif/apps/shared/avifjpeg.c:1146,1
    - Dst: xmlFreeNode
      Src: /src/libavif/apps/shared/avifjpeg.c:1147,1
    - Dst: xmlHasNsProp
      Src: /src/libavif/apps/shared/avifjpeg.c:1154,1
    - Dst: xmlRemoveProp
      Src: /src/libavif/apps/shared/avifjpeg.c:1157,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1167,1
    - Dst: xmlReadMemory
      Src: /src/libavif/apps/shared/avifjpeg.c:1173,1
    - Dst: avifJPEGFindXMLNodeByName
      Src: /src/libavif/apps/shared/avifjpeg.c:1178,1
    - Dst: xmlDocGetRootElement
      Src: /src/libavif/apps/shared/avifjpeg.c:1178,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1183,1
    - Dst: xmlDocCopyNode
      Src: /src/libavif/apps/shared/avifjpeg.c:1191,1
    - Dst: xmlAddChild
      Src: /src/libavif/apps/shared/avifjpeg.c:1192,1
    - Dst: xmlDocDumpFormatMemory
      Src: /src/libavif/apps/shared/avifjpeg.c:1198,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1200,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1205,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1206,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1207,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1211,1
    - Dst: xmlFreeDoc
      Src: /src/libavif/apps/shared/avifjpeg.c:1213,1
    - Dst: xmlFreeDoc
      Src: /src/libavif/apps/shared/avifjpeg.c:1214,1
    - Dst: xmlFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1215,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 5
    argNames:
    - standardXMPData
    - standardXMPSize
    - extendedXMP
    - foundAlternativeXMPNote
    - xmp
    argTypes:
    - uint8_t*
    - uint32_t
    - avifRWData
    - avifBool
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1217
    functionName: avifJPEGMergeXMP
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - xmlDocDumpFormatMemory
    - xmlStrcmp
    - fprintf
    - xmlFreeNode
    - xmlFree
    - avifRWDataFree
    - xmlAddChild
    - xmlRemoveProp
    - memcpy
    - xmlHasNsProp
    - xmlUnlinkNode
    - xmlReadMemory
    - xmlDocGetRootElement
    - xmlFreeDoc
    - avifJPEGFindXMLNodeByName
    - xmlDocCopyNode
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGMergeXMP(const uint8_t * standardXMPData,\n                                 uint32_t
      standardXMPSize,\n                                 const avifRWData extendedXMP,\n
      \                                avifBool foundAlternativeXMPNote,\n                                 avifRWData
      * xmp)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/shared/avifjpeg.c:1251,1
    - Dst: jpeg_std_error
      Src: /src/libavif/apps/shared/avifjpeg.c:1260,1
    - Dst: setjmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1262,1
    - Dst: jpeg_create_decompress
      Src: /src/libavif/apps/shared/avifjpeg.c:1266,1
    - Dst: jpeg_save_markers
      Src: /src/libavif/apps/shared/avifjpeg.c:1271,1
    - Dst: jpeg_save_markers
      Src: /src/libavif/apps/shared/avifjpeg.c:1275,1
    - Dst: setup_read_icc_profile
      Src: /src/libavif/apps/shared/avifjpeg.c:1279,1
    - Dst: jpeg_stdio_src
      Src: /src/libavif/apps/shared/avifjpeg.c:1281,1
    - Dst: jpeg_read_header
      Src: /src/libavif/apps/shared/avifjpeg.c:1282,1
    - Dst: jpeg_calc_output_dimensions
      Src: /src/libavif/apps/shared/avifjpeg.c:1284,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1286,1
    - Dst: read_icc_profile
      Src: /src/libavif/apps/shared/avifjpeg.c:1293,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1297,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1303,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/shared/avifjpeg.c:1308,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1309,1
    - Dst: avifJPEGReadCopy
      Src: /src/libavif/apps/shared/avifjpeg.c:1320,1
    - Dst: assert
      Src: /src/libavif/apps/shared/avifjpeg.c:1323,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifjpeg.c:1324,1
    - Dst: jpeg_start_decompress
      Src: /src/libavif/apps/shared/avifjpeg.c:1330,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1338,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1351,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/shared/avifjpeg.c:1356,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/apps/shared/avifjpeg.c:1360,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1361,1
    - Dst: jpeg_read_scanlines
      Src: /src/libavif/apps/shared/avifjpeg.c:1367,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1369,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/shared/avifjpeg.c:1372,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1373,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1382,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1384,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1389,1
    - Dst: avifImageSetMetadataExif
      Src: /src/libavif/apps/shared/avifjpeg.c:1398,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1401,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifjpeg.c:1412,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1427,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1429,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1441,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1443,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1448,1
    - Dst: isxdigit
      Src: /src/libavif/apps/shared/avifjpeg.c:1456,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1457,1
    - Dst: avifJPEGReadUint32BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:1467,1
    - Dst: avifJPEGReadUint32BigEndian
      Src: /src/libavif/apps/shared/avifjpeg.c:1471,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1475,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1484,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifjpeg.c:1488,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1489,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1493,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1497,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1500,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1501,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1502,1
    - Dst: memset
      Src: /src/libavif/apps/shared/avifjpeg.c:1505,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1511,1
    - Dst: memchr
      Src: /src/libavif/apps/shared/avifjpeg.c:1514,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1515,1
    - Dst: memset
      Src: /src/libavif/apps/shared/avifjpeg.c:1519,1
    - Dst: memchr
      Src: /src/libavif/apps/shared/avifjpeg.c:1525,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1526,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1533,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1534,1
    - Dst: avifJPEGFindSubstr
      Src: /src/libavif/apps/shared/avifjpeg.c:1536,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1541,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1542,1
    - Dst: avifJPEGFindSubstr
      Src: /src/libavif/apps/shared/avifjpeg.c:1543,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1544,1
    - Dst: avifJPEGMergeXMP
      Src: /src/libavif/apps/shared/avifjpeg.c:1552,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1556,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1557,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1558,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1559,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1562,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1563,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/apps/shared/avifjpeg.c:1566,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1567,1
    - Dst: avifImageFixXMP
      Src: /src/libavif/apps/shared/avifjpeg.c:1571,1
    - Dst: hasMpfSegment
      Src: /src/libavif/apps/shared/avifjpeg.c:1575,1
    - Dst: avifJPEGHasGainMapXMPNode
      Src: /src/libavif/apps/shared/avifjpeg.c:1577,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/apps/shared/avifjpeg.c:1578,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1580,1
    - Dst: avifJPEGExtractGainMapImage
      Src: /src/libavif/apps/shared/avifjpeg.c:1584,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/avifjpeg.c:1595,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1596,1
    - Dst: avifGainMapDestroy
      Src: /src/libavif/apps/shared/avifjpeg.c:1602,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/apps/shared/avifjpeg.c:1608,1
    - Dst: assert
      Src: /src/libavif/apps/shared/avifjpeg.c:1609,1
    - Dst: jpeg_finish_decompress
      Src: /src/libavif/apps/shared/avifjpeg.c:1613,1
    - Dst: jpeg_destroy_decompress
      Src: /src/libavif/apps/shared/avifjpeg.c:1616,1
    - Dst: free
      Src: /src/libavif/apps/shared/avifjpeg.c:1617,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifjpeg.c:1618,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1619,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1620,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 273
    argCount: 11
    argNames:
    - f
    - inputFilename
    - avif
    - requestedFormat
    - requestedDepth
    - chromaDownsampling
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - ignoreGainMap
    - sizeLimit
    argTypes:
    - FILE*
    - char*
    - avifImage*
    - avifPixelFormat
    - uint32_t
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    - uint32_t
    assertStmts:
    - condition: (AVIF_FALSE)
      pos:
        line_end: 1608
        line_start: 1608
        source_file: /src/libavif/apps/shared/avifjpeg.c
    - condition: (inputFilename)
      pos:
        line_end: 1322
        line_start: 1322
        source_file: /src/libavif/apps/shared/avifjpeg.c
    constantsTouched: []
    func_position:
      end: 1622
      start: 1235
    functionDepth: 8
    functionLinenumber: 1235
    functionLinenumberEnd: 1622
    functionName: avifJPEGReadInternal
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_save_markers
    - avifRWDataRealloc
    - avifRGBImageAllocatePixels
    - avifJPEGMergeXMP
    - fprintf
    - avifJPEGReadCopy
    - avifImageSetMetadataExif
    - jpeg_finish_decompress
    - free
    - assert
    - avifImageFixXMP
    - avifGainMapDestroy
    - jpeg_start_decompress
    - setjmp
    - avifImageSetProfileICC
    - avifSetExifOrientation
    - avifGainMapCreate
    - jpeg_stdio_src
    - avifJPEGReadUint32BigEndian
    - jpeg_destroy_decompress
    - avifRGBImageSetDefaults
    - memset
    - avifImageRGBToYUV
    - avifRGBImageFreePixels
    - avifImageSetMetadataXMP
    - jpeg_calc_output_dimensions
    - avifJPEGHasGainMapXMPNode
    - setup_read_icc_profile
    - printf
    - memcmp
    - avifRWDataFree
    - read_icc_profile
    - memcpy
    - jpeg_read_scanlines
    - avifJPEGExtractGainMapImage
    - hasMpfSegment
    - avifJPEGFindSubstr
    - avifRWDataSet
    - jpeg_std_error
    - jpeg_read_header
    - memchr
    - isxdigit
    - jpeg_create_decompress
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGReadInternal(FILE * f,\n                                     const
      char * inputFilename,\n                                     avifImage * avif,\n
      \                                    avifPixelFormat requestedFormat,\n                                     uint32_t
      requestedDepth,\n                                     avifChromaDownsampling
      chromaDownsampling,\n                                     avifBool ignoreColorProfile,\n
      \                                    avifBool ignoreExif,\n                                     avifBool
      ignoreXMP,\n                                     avifBool ignoreGainMap,\n                                     uint32_t
      sizeLimit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifjpeg.c:1637,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1639,1
    - Dst: avifJPEGReadInternal
      Src: /src/libavif/apps/shared/avifjpeg.c:1646,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifjpeg.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 10
    argNames:
    - inputFilename
    - avif
    - requestedFormat
    - requestedDepth
    - chromaDownsampling
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - ignoreGainMap
    - sizeLimit
    argTypes:
    - char*
    - avifImage*
    - avifPixelFormat
    - uint32_t
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1624
    functionDepth: 9
    functionLinenumber: 1624
    functionLinenumberEnd: 1661
    functionName: avifJPEGRead
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 0
    functionsReached:
    - fopen
    - avifJPEGReadInternal
    - fprintf
    - fclose
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifJPEGRead(const char * inputFilename,\n                      avifImage
      * avif,\n                      avifPixelFormat requestedFormat,\n                      uint32_t
      requestedDepth,\n                      avifChromaDownsampling chromaDownsampling,\n
      \                     avifBool ignoreColorProfile,\n                      avifBool
      ignoreExif,\n                      avifBool ignoreXMP,\n                      avifBool
      ignoreGainMap,\n                      uint32_t sizeLimit)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/libavif/apps/shared/avifjpeg.c:1671,1
    - Dst: jpeg_create_compress
      Src: /src/libavif/apps/shared/avifjpeg.c:1672,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/shared/avifjpeg.c:1675,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/apps/shared/avifjpeg.c:1679,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1680,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/apps/shared/avifjpeg.c:1683,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1684,1
    - Dst: avifApplyTransforms
      Src: /src/libavif/apps/shared/avifjpeg.c:1690,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1693,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1695,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifjpeg.c:1695,1
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifjpeg.c:1700,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1702,1
    - Dst: jpeg_stdio_dest
      Src: /src/libavif/apps/shared/avifjpeg.c:1706,1
    - Dst: jpeg_set_defaults
      Src: /src/libavif/apps/shared/avifjpeg.c:1712,1
    - Dst: jpeg_set_quality
      Src: /src/libavif/apps/shared/avifjpeg.c:1713,1
    - Dst: jpeg_start_compress
      Src: /src/libavif/apps/shared/avifjpeg.c:1714,1
    - Dst: write_icc_profile
      Src: /src/libavif/apps/shared/avifjpeg.c:1718,1
    - Dst: avifGetExifTiffHeaderOffset
      Src: /src/libavif/apps/shared/avifjpeg.c:1723,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1725,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifjpeg.c:1725,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1730,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1731,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1734,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1735,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifjpeg.c:1737,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1744,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifjpeg.c:1744,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1745,1
    - Dst: jpeg_write_marker
      Src: /src/libavif/apps/shared/avifjpeg.c:1752,1
    - Dst: jpeg_write_marker
      Src: /src/libavif/apps/shared/avifjpeg.c:1756,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1757,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1772,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifjpeg.c:1775,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifjpeg.c:1776,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1779,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifjpeg.c:1780,1
    - Dst: jpeg_write_marker
      Src: /src/libavif/apps/shared/avifjpeg.c:1781,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifjpeg.c:1782,1
    - Dst: jpeg_write_scanlines
      Src: /src/libavif/apps/shared/avifjpeg.c:1788,1
    - Dst: jpeg_finish_compress
      Src: /src/libavif/apps/shared/avifjpeg.c:1791,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifjpeg.c:1793,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifjpeg.c:1796,1
    - Dst: jpeg_destroy_compress
      Src: /src/libavif/apps/shared/avifjpeg.c:1798,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifjpeg.c:1799,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 4
    argNames:
    - outputFilename
    - avif
    - jpegQuality
    - chromaUpsampling
    argTypes:
    - char*
    - avifImage*
    - int
    - avifChromaUpsampling
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1663
    functionDepth: 6
    functionLinenumber: 1663
    functionLinenumberEnd: 1801
    functionName: avifJPEGWrite
    functionSourceFile: /src/libavif/apps/shared/avifjpeg.c
    functionUses: 13
    functionsReached:
    - avifRWDataRealloc
    - avifRGBImageAllocatePixels
    - fprintf
    - jpeg_write_marker
    - jpeg_start_compress
    - jpeg_write_scanlines
    - jpeg_finish_compress
    - avifSetExifOrientation
    - avifImageYUVToRGB
    - avifRGBImageSetDefaults
    - avifRGBImageFreePixels
    - fopen
    - avifResultToString
    - jpeg_set_defaults
    - jpeg_create_compress
    - printf
    - avifRWDataFree
    - fclose
    - avifApplyTransforms
    - memcpy
    - jpeg_set_quality
    - avifGetExifTiffHeaderOffset
    - jpeg_std_error
    - jpeg_destroy_compress
    - write_icc_profile
    - jpeg_stdio_dest
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifJPEGWrite(const char * outputFilename, const avifImage
      * avif, int jpegQuality, avifChromaUpsampling chromaUpsampling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: readLittleEndianU32
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t readLittleEndianU32(const uint8_t * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: writeLittleEndianU32
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeLittleEndianU32(uint8_t * data, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: writeBigEndianU16
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeBigEndianU16(uint8_t * data, uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: writeBigEndianU32
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeBigEndianU32(uint8_t * data, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/libavif/apps/shared/iccmaker.c:173,1
    - Dst: writeBigEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - uint8_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: putS15Fixed16
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - writeBigEndianU32
    - round
    linkageType: ''
    returnType: avifBool
    signature: avifBool putS15Fixed16(uint8_t * data, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roundf
      Src: /src/libavif/apps/shared/iccmaker.c:187,1
    - Dst: writeBigEndianU16
      Src: /src/libavif/apps/shared/iccmaker.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - uint8_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: putU8Fixed8
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - roundf
    - writeBigEndianU16
    linkageType: ''
    returnType: avifBool
    signature: avifBool putU8Fixed8(uint8_t * data, float value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: putS15Fixed16
      Src: /src/libavif/apps/shared/iccmaker.c:199,1
    - Dst: putS15Fixed16
      Src: /src/libavif/apps/shared/iccmaker.c:203,1
    - Dst: putS15Fixed16
      Src: /src/libavif/apps/shared/iccmaker.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - XYZ
    argTypes:
    - uint8_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: putColorant
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - putS15Fixed16
    linkageType: ''
    returnType: avifBool
    signature: avifBool putColorant(uint8_t * data, const double XYZ[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/libavif/apps/shared/iccmaker.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - xy
    - XYZ
    argTypes:
    - float[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: xyToXYZ
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: avifBool
    signature: avifBool xyToXYZ(const float xy[2], double XYZ[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libavif/apps/shared/iccmaker.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - M
    - I
    argTypes:
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: matInv
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: avifBool
    signature: avifBool matInv(const double M[3][3], double I[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - A
    - B
    - C
    argTypes:
    - double[][]
    - double[][]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: matMul
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matMul(const double A[3][3], const double B[3][3], double C[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - d
    - M
    argTypes:
    - double[]
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: matDiag
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matDiag(const double d[3], double M[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: swap
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(double * a, double * b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/libavif/apps/shared/iccmaker.c:289,1
    - Dst: swap
      Src: /src/libavif/apps/shared/iccmaker.c:290,1
    - Dst: swap
      Src: /src/libavif/apps/shared/iccmaker.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - M
    argTypes:
    - double[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: matTrans
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void matTrans(double M[3][3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - M
    - x
    - y
    argTypes:
    - double[][]
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: vecMul
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vecMul(const double M[3][3], const double x[3], double y[3])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: readLittleEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:339,1
    - Dst: writeLittleEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:353,1
    - Dst: writeLittleEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:354,1
    - Dst: writeLittleEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:355,1
    - Dst: writeLittleEndianU32
      Src: /src/libavif/apps/shared/iccmaker.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 357
    functionName: computeMD5
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 0
    functionsReached:
    - readLittleEndianU32
    - writeLittleEndianU32
    linkageType: ''
    returnType: void
    signature: void computeMD5(uint8_t * data, size_t length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libavif/apps/shared/iccmaker.c:373,1
    - Dst: xyToXYZ
      Src: /src/libavif/apps/shared/iccmaker.c:376,1
    - Dst: putColorant
      Src: /src/libavif/apps/shared/iccmaker.c:380,1
    - Dst: matInv
      Src: /src/libavif/apps/shared/iccmaker.c:391,1
    - Dst: vecMul
      Src: /src/libavif/apps/shared/iccmaker.c:396,1
    - Dst: matDiag
      Src: /src/libavif/apps/shared/iccmaker.c:399,1
    - Dst: matMul
      Src: /src/libavif/apps/shared/iccmaker.c:402,1
    - Dst: vecMul
      Src: /src/libavif/apps/shared/iccmaker.c:408,1
    - Dst: fabs
      Src: /src/libavif/apps/shared/iccmaker.c:410,1
    - Dst: matDiag
      Src: /src/libavif/apps/shared/iccmaker.c:417,1
    - Dst: matMul
      Src: /src/libavif/apps/shared/iccmaker.c:420,1
    - Dst: matInv
      Src: /src/libavif/apps/shared/iccmaker.c:423,1
    - Dst: matMul
      Src: /src/libavif/apps/shared/iccmaker.c:426,1
    - Dst: matMul
      Src: /src/libavif/apps/shared/iccmaker.c:429,1
    - Dst: matTrans
      Src: /src/libavif/apps/shared/iccmaker.c:430,1
    - Dst: putColorant
      Src: /src/libavif/apps/shared/iccmaker.c:432,1
    - Dst: putColorant
      Src: /src/libavif/apps/shared/iccmaker.c:436,1
    - Dst: putColorant
      Src: /src/libavif/apps/shared/iccmaker.c:440,1
    - Dst: putU8Fixed8
      Src: /src/libavif/apps/shared/iccmaker.c:444,1
    - Dst: computeMD5
      Src: /src/libavif/apps/shared/iccmaker.c:448,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/iccmaker.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - icc
    - gamma
    - primaries
    argTypes:
    - avifRWData*
    - float
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 454
    functionName: avifGenerateRGBICC
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 8
    functionsReached:
    - matTrans
    - avifRWDataSet
    - putColorant
    - computeMD5
    - matInv
    - memcpy
    - matDiag
    - xyToXYZ
    - matMul
    - fabs
    - putU8Fixed8
    - vecMul
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGenerateRGBICC(avifRWData * icc, float gamma, const float
      primaries[8])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libavif/apps/shared/iccmaker.c:459,1
    - Dst: xyToXYZ
      Src: /src/libavif/apps/shared/iccmaker.c:462,1
    - Dst: putColorant
      Src: /src/libavif/apps/shared/iccmaker.c:466,1
    - Dst: putU8Fixed8
      Src: /src/libavif/apps/shared/iccmaker.c:470,1
    - Dst: computeMD5
      Src: /src/libavif/apps/shared/iccmaker.c:474,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/iccmaker.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - icc
    - gamma
    - white
    argTypes:
    - avifRWData*
    - float
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 480
    functionName: avifGenerateGrayICC
    functionSourceFile: /src/libavif/apps/shared/iccmaker.c
    functionUses: 8
    functionsReached:
    - avifRWDataSet
    - putColorant
    - computeMD5
    - memcpy
    - xyToXYZ
    - putU8Fixed8
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGenerateGrayICC(avifRWData * icc, float gamma, const float
      white[2])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifpng.c:31,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:32,1
    - Dst: isxdigit
      Src: /src/libavif/apps/shared/avifpng.c:41,1
    - Dst: isxdigit
      Src: /src/libavif/apps/shared/avifpng.c:41,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:42,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:43,1
    - Dst: strtol
      Src: /src/libavif/apps/shared/avifpng.c:47,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:53,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - hexString
    - hexStringLength
    - numExpectedBytes
    - bytes
    argTypes:
    - char*
    - size_t
    - size_t
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: avifHexStringToBytes
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - avifRWDataRealloc
    - strtol
    - fprintf
    - avifRWDataFree
    - isxdigit
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifHexStringToBytes(const char * hexString, size_t hexStringLength,
      size_t numExpectedBytes, avifRWData * bytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:65,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:73,1
    - Dst: strtol
      Src: /src/libavif/apps/shared/avifpng.c:85,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:87,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:93,1
    - Dst: avifHexStringToBytes
      Src: /src/libavif/apps/shared/avifpng.c:98,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - profile
    - profileLength
    - payload
    argTypes:
    - char*
    - size_t
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 104
    functionName: avifCopyRawProfile
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - strtol
    - fprintf
    - avifHexStringToBytes
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifCopyRawProfile(const char * profile, size_t profileLength,
      avifRWData * payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifpng.c:108,1
    - Dst: memmove
      Src: /src/libavif/apps/shared/avifpng.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - header
    - payload
    argTypes:
    - avifROData*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: avifRemoveHeader
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memmove
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifRemoveHeader(const avifROData * header, avifRWData * payload)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: png_get_eXIf_1
      Src: /src/libavif/apps/shared/avifpng.c:124,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:126,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/avifpng.c:130,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:131,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifpng.c:144,1
    - Dst: png_get_text
      Src: /src/libavif/apps/shared/avifpng.c:158,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifpng.c:165,1
    - Dst: avifCopyRawProfile
      Src: /src/libavif/apps/shared/avifpng.c:166,1
    - Dst: avifRemoveHeader
      Src: /src/libavif/apps/shared/avifpng.c:169,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifpng.c:170,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifpng.c:172,1
    - Dst: avifCopyRawProfile
      Src: /src/libavif/apps/shared/avifpng.c:173,1
    - Dst: avifRemoveHeader
      Src: /src/libavif/apps/shared/avifpng.c:176,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifpng.c:178,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifpng.c:178,1
    - Dst: avifCopyRawProfile
      Src: /src/libavif/apps/shared/avifpng.c:181,1
    - Dst: avifRemoveHeader
      Src: /src/libavif/apps/shared/avifpng.c:184,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:185,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifpng.c:187,1
    - Dst: avifRemoveHeader
      Src: /src/libavif/apps/shared/avifpng.c:189,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:190,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:194,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifpng.c:196,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:198,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/apps/shared/avifpng.c:201,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:202,1
    - Dst: avifImageFixXMP
      Src: /src/libavif/apps/shared/avifpng.c:211,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 5
    argNames:
    - png
    - info
    - ignoreExif
    - ignoreXMP
    - avif
    argTypes:
    - png_structp
    - png_infop
    - avifBool*
    - avifBool*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 213
    functionName: avifExtractExifAndXMP
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - png_get_text
    - avifRWDataSet
    - avifRemoveHeader
    - fprintf
    - avifRWDataFree
    - avifSetExifOrientation
    - avifImageFixXMP
    - strcmp
    - avifCopyRawProfile
    - png_get_eXIf_1
    - avifImageSetMetadataXMP
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifExtractExifAndXMP(png_structp png, png_infop info, avifBool
      * ignoreExif, avifBool * ignoreXMP, avifImage * avif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:233,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - avif
    - cicpColorPrimaries
    - cicpTransferCharacteristics
    - cicpMatrixCoefficients
    - cicpVideoFullRangeFlag
    argTypes:
    - avifImage*
    - png_byte
    - png_byte
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: avifSetPNGCicp
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void avifSetPNGCicp(avifImage * avif,\n                           png_byte
      cicpColorPrimaries,\n                           png_byte cicpTransferCharacteristics,\n
      \                          png_byte cicpMatrixCoefficients,\n                           png_byte
      cicpVideoFullRangeFlag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_user_chunk_ptr
      Src: /src/libavif/apps/shared/avifpng.c:246,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifpng.c:248,1
    - Dst: avifSetPNGCicp
      Src: /src/libavif/apps/shared/avifpng.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - png_ptr
    - chunk
    argTypes:
    - png_structp
    - png_unknown_chunkp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: avifPNGReadUnknownChunk
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - memcmp
    - avifSetPNGCicp
    - png_get_user_chunk_ptr
    linkageType: ''
    returnType: int
    signature: int avifPNGReadUnknownChunk(png_structp png_ptr, png_unknown_chunkp
      chunk)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/shared/avifpng.c:289,1
    - Dst: fread
      Src: /src/libavif/apps/shared/avifpng.c:292,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:294,1
    - Dst: png_sig_cmp
      Src: /src/libavif/apps/shared/avifpng.c:297,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:298,1
    - Dst: png_create_read_struct
      Src: /src/libavif/apps/shared/avifpng.c:302,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:304,1
    - Dst: png_create_info_struct
      Src: /src/libavif/apps/shared/avifpng.c:307,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:309,1
    - Dst: setjmp
      Src: /src/libavif/apps/shared/avifpng.c:313,1
    - Dst: png_jmpbuf
      Src: /src/libavif/apps/shared/avifpng.c:313,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:314,1
    - Dst: png_set_read_user_chunk_fn
      Src: /src/libavif/apps/shared/avifpng.c:319,1
    - Dst: png_init_io
      Src: /src/libavif/apps/shared/avifpng.c:321,1
    - Dst: png_set_sig_bytes
      Src: /src/libavif/apps/shared/avifpng.c:322,1
    - Dst: png_read_info
      Src: /src/libavif/apps/shared/avifpng.c:323,1
    - Dst: png_get_image_width
      Src: /src/libavif/apps/shared/avifpng.c:325,1
    - Dst: png_get_image_height
      Src: /src/libavif/apps/shared/avifpng.c:326,1
    - Dst: png_get_color_type
      Src: /src/libavif/apps/shared/avifpng.c:327,1
    - Dst: png_get_bit_depth
      Src: /src/libavif/apps/shared/avifpng.c:328,1
    - Dst: png_set_palette_to_rgb
      Src: /src/libavif/apps/shared/avifpng.c:331,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libavif/apps/shared/avifpng.c:335,1
    - Dst: png_get_valid
      Src: /src/libavif/apps/shared/avifpng.c:338,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libavif/apps/shared/avifpng.c:339,1
    - Dst: png_set_swap
      Src: /src/libavif/apps/shared/avifpng.c:346,1
    - Dst: png_read_update_info
      Src: /src/libavif/apps/shared/avifpng.c:354,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:360,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:384,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:388,1
    - Dst: png_get_cICP
      Src: /src/libavif/apps/shared/avifpng.c:413,1
    - Dst: avifSetPNGCicp
      Src: /src/libavif/apps/shared/avifpng.c:414,1
    - Dst: png_get_iCCP
      Src: /src/libavif/apps/shared/avifpng.c:419,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:421,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:427,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/shared/avifpng.c:432,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:433,1
    - Dst: png_get_sRGB
      Src: /src/libavif/apps/shared/avifpng.c:436,1
    - Dst: png_get_gAMA
      Src: /src/libavif/apps/shared/avifpng.c:445,1
    - Dst: avifTransferCharacteristicsFindByGamma
      Src: /src/libavif/apps/shared/avifpng.c:447,1
    - Dst: png_get_cHRM
      Src: /src/libavif/apps/shared/avifpng.c:459,1
    - Dst: avifColorPrimariesFind
      Src: /src/libavif/apps/shared/avifpng.c:468,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/apps/shared/avifpng.c:477,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:483,1
    - Dst: avifGenerateGrayICC
      Src: /src/libavif/apps/shared/avifpng.c:490,1
    - Dst: avifGenerateRGBICC
      Src: /src/libavif/apps/shared/avifpng.c:492,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:496,1
    - Dst: png_get_channels
      Src: /src/libavif/apps/shared/avifpng.c:507,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:509,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:513,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/shared/avifpng.c:517,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/apps/shared/avifpng.c:527,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:528,1
    - Dst: png_get_rowbytes
      Src: /src/libavif/apps/shared/avifpng.c:534,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:536,1
    - Dst: malloc
      Src: /src/libavif/apps/shared/avifpng.c:539,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:541,1
    - Dst: png_read_image
      Src: /src/libavif/apps/shared/avifpng.c:549,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/shared/avifpng.c:550,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:551,1
    - Dst: avifExtractExifAndXMP
      Src: /src/libavif/apps/shared/avifpng.c:556,1
    - Dst: png_read_end
      Src: /src/libavif/apps/shared/avifpng.c:561,1
    - Dst: avifExtractExifAndXMP
      Src: /src/libavif/apps/shared/avifpng.c:562,1
    - Dst: png_destroy_read_struct
      Src: /src/libavif/apps/shared/avifpng.c:570,1
    - Dst: free
      Src: /src/libavif/apps/shared/avifpng.c:573,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifpng.c:575,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 226
    argCount: 11
    argNames:
    - f
    - inputFilename
    - avif
    - requestedFormat
    - requestedDepth
    - chromaDownsampling
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - imageSizeLimit
    - outPNGDepth
    argTypes:
    - FILE*
    - char*
    - avifImage*
    - avifPixelFormat
    - uint32_t
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 577
    functionName: avifPNGReadImpl
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - avifRGBImageAllocatePixels
    - png_set_swap
    - fprintf
    - png_get_iCCP
    - png_sig_cmp
    - free
    - malloc
    - png_create_read_struct
    - avifTransferCharacteristicsFindByGamma
    - png_get_cHRM
    - avifExtractExifAndXMP
    - png_set_palette_to_rgb
    - png_create_info_struct
    - setjmp
    - png_get_image_height
    - avifImageSetProfileICC
    - png_read_update_info
    - avifGenerateRGBICC
    - memset
    - png_get_bit_depth
    - avifColorPrimariesFind
    - png_get_gAMA
    - avifRGBImageSetDefaults
    - avifImageRGBToYUV
    - avifRGBImageFreePixels
    - avifSetPNGCicp
    - png_destroy_read_struct
    - png_get_image_width
    - png_get_channels
    - png_set_sig_bytes
    - fread
    - png_jmpbuf
    - png_read_end
    - png_set_tRNS_to_alpha
    - png_get_rowbytes
    - png_get_cICP
    - png_get_color_type
    - avifGenerateGrayICC
    - png_set_expand_gray_1_2_4_to_8
    - png_get_valid
    - png_init_io
    - png_get_sRGB
    - png_set_read_user_chunk_fn
    - avifColorPrimariesGetValues
    - png_read_image
    - png_read_info
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifPNGReadImpl(FILE * f,\n                                const
      char * inputFilename,\n                                avifImage * avif,\n                                avifPixelFormat
      requestedFormat,\n                                uint32_t requestedDepth,\n
      \                               avifChromaDownsampling chromaDownsampling,\n
      \                               avifBool ignoreColorProfile,\n                                avifBool
      ignoreExif,\n                                avifBool ignoreXMP,\n                                uint32_t
      imageSizeLimit,\n                                uint32_t * outPNGDepth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifpng.c:592,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:594,1
    - Dst: avifPNGReadImpl
      Src: /src/libavif/apps/shared/avifpng.c:602,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifpng.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 10
    argNames:
    - inputFilename
    - avif
    - requestedFormat
    - requestedDepth
    - chromaDownsampling
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - imageSizeLimit
    - outPNGDepth
    argTypes:
    - char*
    - avifImage*
    - avifPixelFormat
    - uint32_t
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 579
    functionDepth: 7
    functionLinenumber: 579
    functionLinenumberEnd: 618
    functionName: avifPNGRead
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 0
    functionsReached:
    - fopen
    - avifPNGReadImpl
    - fprintf
    - fclose
    linkageType: ''
    returnType: avifBool
    signature: "avifBool avifPNGRead(const char * inputFilename,\n                     avifImage
      * avif,\n                     avifPixelFormat requestedFormat,\n                     uint32_t
      requestedDepth,\n                     avifChromaDownsampling chromaDownsampling,\n
      \                    avifBool ignoreColorProfile,\n                     avifBool
      ignoreExif,\n                     avifBool ignoreXMP,\n                     uint32_t
      imageSizeLimit,\n                     uint32_t * outPNGDepth)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/shared/avifpng.c:633,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:640,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:645,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:649,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/shared/avifpng.c:664,1
    - Dst: avifImageIsOpaque
      Src: /src/libavif/apps/shared/avifpng.c:675,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/apps/shared/avifpng.c:680,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:681,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/apps/shared/avifpng.c:684,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:685,1
    - Dst: avifApplyTransforms
      Src: /src/libavif/apps/shared/avifpng.c:692,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:695,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:697,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifpng.c:697,1
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifpng.c:702,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:704,1
    - Dst: png_create_write_struct
      Src: /src/libavif/apps/shared/avifpng.c:708,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:710,1
    - Dst: png_set_benign_errors
      Src: /src/libavif/apps/shared/avifpng.c:714,1
    - Dst: png_create_info_struct
      Src: /src/libavif/apps/shared/avifpng.c:716,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:718,1
    - Dst: setjmp
      Src: /src/libavif/apps/shared/avifpng.c:722,1
    - Dst: png_jmpbuf
      Src: /src/libavif/apps/shared/avifpng.c:722,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:723,1
    - Dst: png_init_io
      Src: /src/libavif/apps/shared/avifpng.c:727,1
    - Dst: png_set_option
      Src: /src/libavif/apps/shared/avifpng.c:732,1
    - Dst: png_set_compression_level
      Src: /src/libavif/apps/shared/avifpng.c:736,1
    - Dst: png_set_IHDR
      Src: /src/libavif/apps/shared/avifpng.c:742,1
    - Dst: png_set_iCCP
      Src: /src/libavif/apps/shared/avifpng.c:749,1
    - Dst: png_set_sRGB_gAMA_and_cHRM
      Src: /src/libavif/apps/shared/avifpng.c:754,1
    - Dst: avifColorPrimariesGetValues
      Src: /src/libavif/apps/shared/avifpng.c:758,1
    - Dst: png_set_cHRM
      Src: /src/libavif/apps/shared/avifpng.c:759,1
    - Dst: avifTransferCharacteristicsGetGamma
      Src: /src/libavif/apps/shared/avifpng.c:775,1
    - Dst: png_set_gAMA
      Src: /src/libavif/apps/shared/avifpng.c:776,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:785,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifpng.c:790,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:791,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifpng.c:794,1
    - Dst: avifSetExifOrientation
      Src: /src/libavif/apps/shared/avifpng.c:796,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:803,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifpng.c:803,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:804,1
    - Dst: png_set_eXIf_1
      Src: /src/libavif/apps/shared/avifpng.c:808,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:809,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:819,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifpng.c:822,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:823,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifpng.c:826,1
    - Dst: memset
      Src: /src/libavif/apps/shared/avifpng.c:829,1
    - Dst: png_set_text
      Src: /src/libavif/apps/shared/avifpng.c:836,1
    - Dst: png_write_info
      Src: /src/libavif/apps/shared/avifpng.c:839,1
    - Dst: png_write_chunk
      Src: /src/libavif/apps/shared/avifpng.c:850,1
    - Dst: malloc
      Src: /src/libavif/apps/shared/avifpng.c:853,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifpng.c:855,1
    - Dst: png_set_swap
      Src: /src/libavif/apps/shared/avifpng.c:873,1
    - Dst: png_write_image
      Src: /src/libavif/apps/shared/avifpng.c:876,1
    - Dst: png_write_end
      Src: /src/libavif/apps/shared/avifpng.c:877,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifpng.c:880,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifpng.c:883,1
    - Dst: png_destroy_write_struct
      Src: /src/libavif/apps/shared/avifpng.c:886,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifpng.c:888,1
    - Dst: free
      Src: /src/libavif/apps/shared/avifpng.c:890,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifpng.c:892,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 196
    argCount: 5
    argNames:
    - outputFilename
    - avif
    - requestedDepth
    - chromaUpsampling
    - compressionLevel
    argTypes:
    - char*
    - avifImage*
    - uint32_t
    - avifChromaUpsampling
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 623
    functionDepth: 6
    functionLinenumber: 623
    functionLinenumberEnd: 894
    functionName: avifPNGWrite
    functionSourceFile: /src/libavif/apps/shared/avifpng.c
    functionUses: 25
    functionsReached:
    - avifRWDataRealloc
    - avifRGBImageAllocatePixels
    - png_set_swap
    - fprintf
    - free
    - malloc
    - png_set_compression_level
    - png_create_write_struct
    - png_set_sRGB_gAMA_and_cHRM
    - png_write_end
    - png_set_text
    - png_set_gAMA
    - avifImageIsOpaque
    - png_create_info_struct
    - setjmp
    - avifSetExifOrientation
    - avifImageYUVToRGB
    - png_set_iCCP
    - avifRGBImageSetDefaults
    - memset
    - avifRGBImageFreePixels
    - fopen
    - avifResultToString
    - png_set_option
    - printf
    - avifRWDataFree
    - png_write_image
    - fclose
    - avifApplyTransforms
    - memcpy
    - png_jmpbuf
    - png_write_chunk
    - png_set_IHDR
    - avifTransferCharacteristicsGetGamma
    - png_write_info
    - png_set_eXIf_1
    - png_init_io
    - png_set_benign_errors
    - png_destroy_write_struct
    - avifColorPrimariesGetValues
    - png_set_cHRM
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifPNGWrite(const char * outputFilename, const avifImage
      * avif, uint32_t requestedDepth, avifChromaUpsampling chromaUpsampling, int
      compressionLevel)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:42,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:48,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:54,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:60,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:65,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:70,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:75,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:80,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:85,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:90,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:95,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:101,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:106,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:112,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:117,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - formatString
    - frame
    argTypes:
    - char*
    - struct y4mFrameIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 128
    functionName: y4mColorSpaceParse
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: avifBool
    signature: avifBool y4mColorSpaceParse(const char * formatString, struct y4mFrameIterator
      * frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: y4mReadUnsignedInt
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int y4mReadUnsignedInt(const char * start, const char * end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libavif/apps/shared/y4m.c:153,1
    - Dst: atoi
      Src: /src/libavif/apps/shared/y4m.c:160,1
    - Dst: atoi
      Src: /src/libavif/apps/shared/y4m.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - framerateString
    - sourceTiming
    argTypes:
    - char*
    - avifAppSourceTiming*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: y4mFramerateParse
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    linkageType: ''
    returnType: avifBool
    signature: avifBool y4mFramerateParse(char * framerateString, avifAppSourceTiming
      * sourceTiming)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libavif/apps/shared/y4m.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p
    - end
    - out
    - maxChars
    argTypes:
    - uint8_t*
    - uint8_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: getHeaderString
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: avifBool
    signature: avifBool getHeaderString(uint8_t * p, uint8_t * end, char * out, size_t
      maxChars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libavif/apps/shared/y4m.c:197,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - inputFile
    - raw
    - displayFilename
    argTypes:
    - FILE*
    - avifRWData*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: y4mReadLine
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached:
    - fread
    - fprintf
    linkageType: ''
    returnType: int
    signature: int y4mReadLine(FILE * inputFile, avifRWData * raw, const char * displayFilename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageUsesU16
      Src: /src/libavif/apps/shared/y4m.c:219,1
    - Dst: assert
      Src: /src/libavif/apps/shared/y4m.c:220,1
    - Dst: assert
      Src: /src/libavif/apps/shared/y4m.c:223,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/apps/shared/y4m.c:231,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/apps/shared/y4m.c:232,1
    - Dst: avifImagePlane
      Src: /src/libavif/apps/shared/y4m.c:233,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/apps/shared/y4m.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - avif
    argTypes:
    - avifImage*
    assertStmts:
    - condition: (avif->depth == 8)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/libavif/apps/shared/y4m.c
    - condition: (avif->depth < 16)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/libavif/apps/shared/y4m.c
    constantsTouched: []
    func_position:
      end: 247
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 247
    functionName: y4mClampSamples
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached:
    - avifImagePlaneHeight
    - assert
    - avifImageUsesU16
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: avifBool
    signature: avifBool y4mClampSamples(avifImage * avif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - BYTES
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: ADVANCE
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE(BYTES)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/shared/y4m.c:273,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/y4m.c:278,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:279,1
    - Dst: fopen
      Src: /src/libavif/apps/shared/y4m.c:290,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:292,1
    - Dst: y4mReadLine
      Src: /src/libavif/apps/shared/y4m.c:300,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:302,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:306,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/y4m.c:313,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:314,1
    - Dst: ADVANCE
      Src: /src/libavif/apps/shared/y4m.c:317,1
    - Dst: y4mReadUnsignedInt
      Src: /src/libavif/apps/shared/y4m.c:324,1
    - Dst: y4mReadUnsignedInt
      Src: /src/libavif/apps/shared/y4m.c:327,1
    - Dst: getHeaderString
      Src: /src/libavif/apps/shared/y4m.c:330,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:331,1
    - Dst: y4mColorSpaceParse
      Src: /src/libavif/apps/shared/y4m.c:334,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:335,1
    - Dst: getHeaderString
      Src: /src/libavif/apps/shared/y4m.c:340,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:341,1
    - Dst: y4mFramerateParse
      Src: /src/libavif/apps/shared/y4m.c:344,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:345,1
    - Dst: getHeaderString
      Src: /src/libavif/apps/shared/y4m.c:350,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:351,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/y4m.c:354,1
    - Dst: ADVANCE
      Src: /src/libavif/apps/shared/y4m.c:364,1
    - Dst: ADVANCE
      Src: /src/libavif/apps/shared/y4m.c:371,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:375,1
    - Dst: y4mReadLine
      Src: /src/libavif/apps/shared/y4m.c:380,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:382,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:386,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/y4m.c:389,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:390,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:395,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:399,1
    - Dst: avifImageFreePlanes
      Src: /src/libavif/apps/shared/y4m.c:407,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/apps/shared/y4m.c:414,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:416,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/y4m.c:416,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/apps/shared/y4m.c:421,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/apps/shared/y4m.c:422,1
    - Dst: avifImagePlane
      Src: /src/libavif/apps/shared/y4m.c:423,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/apps/shared/y4m.c:424,1
    - Dst: fread
      Src: /src/libavif/apps/shared/y4m.c:426,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:428,1
    - Dst: y4mClampSamples
      Src: /src/libavif/apps/shared/y4m.c:441,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:442,1
    - Dst: free
      Src: /src/libavif/apps/shared/y4m.c:449,1
    - Dst: ungetc
      Src: /src/libavif/apps/shared/y4m.c:454,1
    - Dst: fgetc
      Src: /src/libavif/apps/shared/y4m.c:454,1
    - Dst: feof
      Src: /src/libavif/apps/shared/y4m.c:456,1
    - Dst: malloc
      Src: /src/libavif/apps/shared/y4m.c:458,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:460,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/y4m.c:470,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/y4m.c:472,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 184
    argCount: 5
    argNames:
    - inputFilename
    - imageSizeLimit
    - avif
    - sourceTiming
    - iter
    argTypes:
    - char*
    - uint32_t
    - avifImage*
    - avifAppSourceTiming*
    - struct y4mFrameIterator**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 474
    functionName: y4mRead
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 8
    functionsReached:
    - avifRWDataRealloc
    - fprintf
    - y4mFramerateParse
    - feof
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - free
    - malloc
    - avifImagePlaneRowBytes
    - avifImageFreePlanes
    - getHeaderString
    - y4mReadLine
    - ADVANCE
    - strcmp
    - memset
    - fopen
    - avifResultToString
    - memcmp
    - avifRWDataFree
    - fclose
    - y4mColorSpaceParse
    - fread
    - y4mClampSamples
    - avifImagePlane
    - ungetc
    - avifImagePlaneWidth
    - y4mReadUnsignedInt
    - fgetc
    linkageType: ''
    returnType: avifBool
    signature: "avifBool y4mRead(const char * inputFilename,\n                 uint32_t
      imageSizeLimit,\n                 avifImage * avif,\n                 avifAppSourceTiming
      * sourceTiming,\n                 struct y4mFrameIterator ** iter)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:483,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/apps/shared/y4m.c:489,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:492,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/apps/shared/y4m.c:500,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:502,1
    - Dst: avifImageGetExifOrientationFromIrotImir
      Src: /src/libavif/apps/shared/y4m.c:504,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:574,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:579,1
    - Dst: fopen
      Src: /src/libavif/apps/shared/y4m.c:588,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:590,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:595,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:596,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/apps/shared/y4m.c:603,1
    - Dst: avifImagePlaneWidth
      Src: /src/libavif/apps/shared/y4m.c:604,1
    - Dst: avifImagePlane
      Src: /src/libavif/apps/shared/y4m.c:605,1
    - Dst: avifImagePlaneRowBytes
      Src: /src/libavif/apps/shared/y4m.c:606,1
    - Dst: fwrite
      Src: /src/libavif/apps/shared/y4m.c:608,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/y4m.c:609,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/y4m.c:618,1
    - Dst: printf
      Src: /src/libavif/apps/shared/y4m.c:620,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 114
    argCount: 2
    argNames:
    - outputFilename
    - avif
    argTypes:
    - char*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 623
    functionName: y4mWrite
    functionSourceFile: /src/libavif/apps/shared/y4m.c
    functionUses: 9
    functionsReached:
    - fopen
    - avifCropRectFromCleanApertureBox
    - fprintf
    - fwrite
    - avifImagePlaneHeight
    - printf
    - fclose
    - avifImageGetExifOrientationFromIrotImir
    - avifImagePlaneWidth
    - avifImagePlaneRowBytes
    - avifImagePlane
    linkageType: ''
    returnType: avifBool
    signature: avifBool y4mWrite(const char * outputFilename, const avifImage * avif)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - format
    argTypes:
    - avifAppFileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: avifFileFormatToString
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * avifFileFormatToString(avifAppFileFormat format)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: calcGCD
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t calcGCD(int64_t a, int64_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:53,1
    - Dst: calcGCD
      Src: /src/libavif/apps/shared/avifutil.c:55,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - name
    - n
    - d
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: printClapFraction
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - calcGCD
    - printf
    linkageType: ''
    returnType: void
    signature: void printClapFraction(const char * name, int32_t n, int32_t d)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:72,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:73,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:74,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/apps/shared/avifutil.c:74,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:76,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:78,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:79,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:81,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:82,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:83,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:86,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:88,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:91,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:93,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:96,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:98,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:102,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:104,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:107,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:110,1
    - Dst: printClapFraction
      Src: /src/libavif/apps/shared/avifutil.c:111,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:112,1
    - Dst: printClapFraction
      Src: /src/libavif/apps/shared/avifutil.c:113,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:114,1
    - Dst: printClapFraction
      Src: /src/libavif/apps/shared/avifutil.c:115,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:116,1
    - Dst: printClapFraction
      Src: /src/libavif/apps/shared/avifutil.c:117,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:118,1
    - Dst: avifDiagnosticsClearError
      Src: /src/libavif/apps/shared/avifutil.c:122,1
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/apps/shared/avifutil.c:123,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:125,1
    - Dst: avifCropRectRequiresUpsampling
      Src: /src/libavif/apps/shared/avifutil.c:130,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:132,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:136,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:139,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:142,1
    - Dst: avifProgressiveStateToString
      Src: /src/libavif/apps/shared/avifutil.c:142,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:144,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:147,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:150,1
    - Dst: avifPixelFormatToString
      Src: /src/libavif/apps/shared/avifutil.c:154,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:164,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:165,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:166,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:167,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:169,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:171,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:174,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:177,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:180,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:182,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:184,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:186,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 94
    argCount: 5
    argNames:
    - avif
    - gridCols
    - gridRows
    - alphaPresent
    - progressiveState
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    - avifBool
    - avifProgressiveState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 188
    functionName: avifImageDumpInternal
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - avifPixelFormatToString
    - avifCropRectFromCleanApertureBox
    - avifCropRectRequiresUpsampling
    - printClapFraction
    - printf
    - avifProgressiveStateToString
    - avifDiagnosticsClearError
    linkageType: ''
    returnType: void
    signature: void avifImageDumpInternal(const avifImage * avif, uint32_t gridCols,
      uint32_t gridRows, avifBool alphaPresent, avifProgressiveState progressiveState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDumpInternal
      Src: /src/libavif/apps/shared/avifutil.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - avif
    - gridCols
    - gridRows
    - progressiveState
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    - avifProgressiveState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: avifImageDump
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 1
    functionsReached:
    - avifImageDumpInternal
    linkageType: ''
    returnType: void
    signature: void avifImageDump(const avifImage * avif, uint32_t gridCols, uint32_t
      gridRows, avifProgressiveState progressiveState)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDumpInternal
      Src: /src/libavif/apps/shared/avifutil.c:198,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:201,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:203,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: avifContainerDump
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 1
    functionsReached:
    - avifImageDumpInternal
    - printf
    linkageType: ''
    returnType: void
    signature: void avifContainerDump(const avifDecoder * decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avifCodecVersions
      Src: /src/libavif/apps/shared/avifutil.c:213,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:214,1
    - Dst: avifVersion
      Src: /src/libavif/apps/shared/avifutil.c:214,1
    - Dst: avifLibYUVVersion
      Src: /src/libavif/apps/shared/avifutil.c:216,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:218,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:220,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: avifPrintVersions
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 4
    functionsReached:
    - avifLibYUVVersion
    - avifVersion
    - printf
    - avifCodecVersions
    linkageType: ''
    returnType: void
    signature: void avifPrintVersions(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifutil.c:229,1
    - Dst: fread
      Src: /src/libavif/apps/shared/avifutil.c:232,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifutil.c:233,1
    - Dst: avifGuessBufferFileFormat
      Src: /src/libavif/apps/shared/avifutil.c:237,1
    - Dst: strrchr
      Src: /src/libavif/apps/shared/avifutil.c:243,1
    - Dst: strlen
      Src: /src/libavif/apps/shared/avifutil.c:250,1
    - Dst: tolower
      Src: /src/libavif/apps/shared/avifutil.c:256,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifutil.c:260,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifutil.c:262,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifutil.c:264,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifutil.c:264,1
    - Dst: strcmp
      Src: /src/libavif/apps/shared/avifutil.c:266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 270
    functionName: avifGuessFileFormat
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 1
    functionsReached:
    - fopen
    - strlen
    - avifGuessBufferFileFormat
    - fclose
    - strrchr
    - fread
    - tolower
    - strcmp
    linkageType: ''
    returnType: avifAppFileFormat
    signature: avifAppFileFormat avifGuessFileFormat(const char * filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifPeekCompatibleFileType
      Src: /src/libavif/apps/shared/avifutil.c:282,1
    - Dst: memcmp
      Src: /src/libavif/apps/shared/avifutil.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 310
    functionName: avifGuessBufferFileFormat
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 5
    functionsReached:
    - memcmp
    - avifPeekCompatibleFileType
    linkageType: ''
    returnType: avifAppFileFormat
    signature: avifAppFileFormat avifGuessBufferFileFormat(const uint8_t * data, size_t
      size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/shared/avifutil.c:328,1
    - Dst: y4mRead
      Src: /src/libavif/apps/shared/avifutil.c:332,1
    - Dst: avifJPEGRead
      Src: /src/libavif/apps/shared/avifutil.c:340,1
    - Dst: avifPNGRead
      Src: /src/libavif/apps/shared/avifutil.c:347,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:351,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:354,1
    - Dst: avifFileFormatToString
      Src: /src/libavif/apps/shared/avifutil.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 14
    argNames:
    - filename
    - inputFormat
    - requestedFormat
    - requestedDepth
    - chromaDownsampling
    - ignoreColorProfile
    - ignoreExif
    - ignoreXMP
    - ignoreGainMap
    - imageSizeLimit
    - image
    - outDepth
    - sourceTiming
    - frameIter
    argTypes:
    - char*
    - avifAppFileFormat
    - avifPixelFormat
    - int
    - avifChromaDownsampling
    - avifBool
    - avifBool
    - avifBool
    - avifBool
    - uint32_t
    - avifImage*
    - uint32_t*
    - avifAppSourceTiming*
    - struct y4mFrameIterator**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 312
    functionDepth: 10
    functionLinenumber: 312
    functionLinenumberEnd: 358
    functionName: avifReadImage
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 38
    functionsReached:
    - avifGuessFileFormat
    - fprintf
    - avifPNGRead
    - avifFileFormatToString
    - y4mRead
    - avifJPEGRead
    linkageType: ''
    returnType: avifAppFileFormat
    signature: "avifAppFileFormat avifReadImage(const char * filename,\n                                avifAppFileFormat
      inputFormat,\n                                avifPixelFormat requestedFormat,\n
      \                               int requestedDepth,\n                                avifChromaDownsampling
      chromaDownsampling,\n                                avifBool ignoreColorProfile,\n
      \                               avifBool ignoreExif,\n                                avifBool
      ignoreXMP,\n                                avifBool ignoreGainMap,\n                                uint32_t
      imageSizeLimit,\n                                avifImage * image,\n                                uint32_t
      * outDepth,\n                                avifAppSourceTiming * sourceTiming,\n
      \                               struct y4mFrameIterator ** frameIter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libavif/apps/shared/avifutil.c:362,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifutil.c:367,1
    - Dst: ftell
      Src: /src/libavif/apps/shared/avifutil.c:368,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifutil.c:370,1
    - Dst: fseek
      Src: /src/libavif/apps/shared/avifutil.c:374,1
    - Dst: avifRWDataRealloc
      Src: /src/libavif/apps/shared/avifutil.c:376,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifutil.c:377,1
    - Dst: fread
      Src: /src/libavif/apps/shared/avifutil.c:380,1
    - Dst: fclose
      Src: /src/libavif/apps/shared/avifutil.c:381,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/shared/avifutil.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - filename
    - raw
    argTypes:
    - char*
    - avifRWData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 388
    functionName: avifReadEntireFile
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - avifRWDataRealloc
    - fopen
    - fseek
    - avifRWDataFree
    - fclose
    - fread
    - ftell
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifReadEntireFile(const char * filename, avifRWData * raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: avifImageFixXMP
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifImageFixXMP(avifImage * image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:412,1
    - Dst: printf
      Src: /src/libavif/apps/shared/avifutil.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - diag
    argTypes:
    - avifDiagnostics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avifDumpDiagnostics
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void avifDumpDiagnostics(const avifDiagnostics * diag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/libavif/apps/shared/avifutil.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: avifQueryCPUCount
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - GetSystemInfo
    linkageType: ''
    returnType: int
    signature: int avifQueryCPUCount(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/libavif/apps/shared/avifutil.c:451,1
    - Dst: sysctl
      Src: /src/libavif/apps/shared/avifutil.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 460
    functionName: avifQueryCPUCount
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: int
    signature: int avifQueryCPUCount(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: avifQueryCPUCount
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avifQueryCPUCount(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libavif/apps/shared/avifutil.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: avifQueryCPUCount
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: int
    signature: int avifQueryCPUCount(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/apps/shared/avifutil.c:488,1
    - Dst: assert
      Src: /src/libavif/apps/shared/avifutil.c:489,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:509,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:516,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:529,1
    - Dst: assert
      Src: /src/libavif/apps/shared/avifutil.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - dimensionStr
    - numPixels
    - numCells
    - isSubsampled
    - cellSize
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - avifBool
    - uint32_t*
    assertStmts:
    - condition: (numPixels)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/libavif/apps/shared/avifutil.c
    - condition: (numCells)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/libavif/apps/shared/avifutil.c
    - condition: (((uint64_t)(numCells - 1) * *cellSize < (uint64_t)numPixels) &&
        ((uint64_t)numCells * *cellSize >= (uint64_t)numPixels))
      pos:
        line_end: 534
        line_start: 534
        source_file: /src/libavif/apps/shared/avifutil.c
    constantsTouched: []
    func_position:
      end: 537
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 537
    functionName: avifGetBestCellSize
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifGetBestCellSize(const char * dimensionStr, uint32_t numPixels,
      uint32_t numCells, avifBool isSubsampled, uint32_t * cellSize)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: avifGetPixelFormatInfo
      Src: /src/libavif/apps/shared/avifutil.c:543,1
    - Dst: avifGetBestCellSize
      Src: /src/libavif/apps/shared/avifutil.c:546,1
    - Dst: avifGetBestCellSize
      Src: /src/libavif/apps/shared/avifutil.c:547,1
    - Dst: avifImageCreateEmpty
      Src: /src/libavif/apps/shared/avifutil.c:555,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:557,1
    - Dst: avifImageSetViewRect
      Src: /src/libavif/apps/shared/avifutil.c:569,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:571,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifutil.c:571,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/apps/shared/avifutil.c:576,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:578,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:582,1
    - Dst: calloc
      Src: /src/libavif/apps/shared/avifutil.c:592,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:594,1
    - Dst: avifImageSplitGrid
      Src: /src/libavif/apps/shared/avifutil.c:597,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/shared/avifutil.c:600,1
    - Dst: free
      Src: /src/libavif/apps/shared/avifutil.c:603,1
    - Dst: free
      Src: /src/libavif/apps/shared/avifutil.c:611,1
    - Dst: avifImageSetProfileICC
      Src: /src/libavif/apps/shared/avifutil.c:618,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:620,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifutil.c:620,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/avifutil.c:625,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:627,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifutil.c:627,1
    - Dst: avifImageSetMetadataXMP
      Src: /src/libavif/apps/shared/avifutil.c:632,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:634,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifutil.c:634,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/shared/avifutil.c:642,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:644,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/shared/avifutil.c:644,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - gridSplitImage
    - gridCols
    - gridRows
    - gridCells
    argTypes:
    - avifImage*
    - uint32_t
    - uint32_t
    - avifImage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 651
    functionName: avifImageSplitGrid
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - avifImageDestroy
    - avifResultToString
    - avifGetPixelFormatInfo
    - fprintf
    - avifRWDataSet
    - avifImageSetProfileICC
    - avifImageSetViewRect
    - avifGainMapCreate
    - free
    - avifImageSetMetadataXMP
    - memcpy
    - avifGetBestCellSize
    - avifImageSplitGrid
    - calloc
    - avifImageCreateEmpty
    linkageType: ''
    returnType: avifBool
    signature: avifBool avifImageSplitGrid(const avifImage * gridSplitImage, uint32_t
      gridCols, uint32_t gridRows, avifImage ** gridCells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libavif/apps/shared/avifutil.c:655,1
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/apps/shared/avifutil.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - cropRect
    argTypes:
    - avifRGBImage*
    - avifRGBImage*
    - avifCropRect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: avifRGBImageSetViewRect
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - memset
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: void
    signature: void avifRGBImageSetViewRect(avifRGBImage * dstImage, const avifRGBImage
      * srcImage, const avifCropRect * cropRect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/apps/shared/avifutil.c:674,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/apps/shared/avifutil.c:682,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:691,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:698,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:708,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:719,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - dstImage
    - srcImage
    - rotation
    argTypes:
    - avifRGBImage*
    - avifRGBImage*
    - avifImageRotation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 728
    functionName: avifRGBImageRotate
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - avifRGBImageAllocatePixels
    - memcpy
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageRotate(avifRGBImage * dstImage, const avifRGBImage
      * srcImage, const avifImageRotation * rotation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/apps/shared/avifutil.c:733,1
    - Dst: avifAlloc
      Src: /src/libavif/apps/shared/avifutil.c:737,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:744,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:745,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:746,1
    - Dst: avifFree
      Src: /src/libavif/apps/shared/avifutil.c:748,1
    - Dst: avifRGBImagePixelSize
      Src: /src/libavif/apps/shared/avifutil.c:750,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:760,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:761,1
    - Dst: memcpy
      Src: /src/libavif/apps/shared/avifutil.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - image
    - mirror
    argTypes:
    - avifRGBImage*
    - avifImageMirror*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 770
    functionName: avifRGBImageMirror
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 0
    functionsReached:
    - avifFree
    - memcpy
    - avifAlloc
    - avifRGBImagePixelSize
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifRGBImageMirror(avifRGBImage * image, const avifImageMirror
      * mirror)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avifCropRectFromCleanApertureBox
      Src: /src/libavif/apps/shared/avifutil.c:781,1
    - Dst: avifRGBImageSetViewRect
      Src: /src/libavif/apps/shared/avifutil.c:783,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:785,1
    - Dst: avifRGBImageRotate
      Src: /src/libavif/apps/shared/avifutil.c:791,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:793,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifutil.c:794,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/apps/shared/avifutil.c:798,1
    - Dst: avifRGBImageMirror
      Src: /src/libavif/apps/shared/avifutil.c:803,1
    - Dst: fprintf
      Src: /src/libavif/apps/shared/avifutil.c:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - dstView
    - srcImage
    - avif
    argTypes:
    - avifRGBImage*
    - avifRGBImage*
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 810
    functionName: avifApplyTransforms
    functionSourceFile: /src/libavif/apps/shared/avifutil.c
    functionUses: 2
    functionsReached:
    - avifCropRectFromCleanApertureBox
    - fprintf
    - avifRGBImageMirror
    - avifRGBImageFreePixels
    - avifRGBImageRotate
    - avifRGBImageSetViewRect
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifApplyTransforms(avifRGBImage * dstView, avifRGBImage
      * srcImage, const avifImage * avif)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 43
    functionName: avifImageGetExifOrientationFromIrotImir
    functionSourceFile: /src/libavif/apps/shared/avifexif.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t avifImageGetExifOrientationFromIrotImir(const avifImage * image)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avifGetExifOrientationOffset
      Src: /src/libavif/apps/shared/avifexif.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - exif
    - orientation
    argTypes:
    - avifRWData*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: avifSetExifOrientation
    functionSourceFile: /src/libavif/apps/shared/avifexif.c
    functionUses: 16
    functionsReached:
    - avifGetExifOrientationOffset
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifSetExifOrientation(avifRWData * exif, uint8_t orientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:14,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:15,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: avif::ExtractGainMapCommand::ExtractGainMapCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void ExtractGainMapCommand::ExtractGainMapCommand()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:27,1
    - Dst: WriteImage
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:39,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:40,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: avif::ExtractGainMapCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc
    functionUses: 0
    functionsReached:
    - ReadAvif
    - WriteImage
    - grid::value
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: avifResult ExtractGainMapCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:14,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:15,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: avif::ExtractGainMapCommand::ExtractGainMapCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void ExtractGainMapCommand::ExtractGainMapCommand()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:27,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:27,1
    - Dst: WriteImage
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:39,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:40,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: avif::ExtractGainMapCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc
    functionUses: 0
    functionsReached:
    - ReadAvif
    - WriteImage
    - grid::value
    - DecoderPtr::get
    linkageType: ''
    returnType: avifResult
    signature: avifResult ExtractGainMapCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:17,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:21,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:23,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:24,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:27,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:30,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:34,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:40,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:51,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:57,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:64,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:70,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:76,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 78
    functionName: avif::CombineCommand::CombineCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/combine_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void CombineCommand::CombineCommand()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:82,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:82,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:84,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:84,1
    - Dst: ReadImage
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:92,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:95,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:99,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:100,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:102,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:103,1
    - Dst: ReadImage
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:107,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:107,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:111,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:114,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:116,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:118,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:120,1
    - Dst: std::max<int>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:123,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:126,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:128,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:132,1
    - Dst: avifImageCreate
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:134,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:143,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:148,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:149,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:151,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:152,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:154,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:159,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:162,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:163,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:165,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:172,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:173,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:175,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:176,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:189,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:189,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 198
    functionName: avif::CombineCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/combine_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - avifResultToString
    - std::max
    - value
    - EncoderPtr::get
    - avifImageCreate
    - avifDoubleToUnsignedFraction
    - avifImageComputeGainMap
    - grid::value
    - avifGainMapCreate
    - std::max<int>
    - provenance
    - ImagePtr::get
    - pixel_format::value
    - ReadImage
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: avifResult
    signature: avifResult CombineCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:17,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:21,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:23,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:24,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:27,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:30,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:34,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:40,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:51,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:57,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:64,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:70,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:76,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 78
    functionName: avif::CombineCommand::CombineCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/combine_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void CombineCommand::CombineCommand()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:82,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:82,1
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:84,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:84,1
    - Dst: ReadImage
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:92,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:92,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:95,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:99,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:100,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:102,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:103,1
    - Dst: ReadImage
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:107,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:107,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:111,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:114,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:116,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:118,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:120,1
    - Dst: std::max<int>
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:123,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:126,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:128,1
    - Dst: avifGainMapCreate
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:132,1
    - Dst: avifImageCreate
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:134,1
    - Dst: avifImageComputeGainMap
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:140,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:143,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:148,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:149,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:151,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:152,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:154,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:159,1
    - Dst: avifDoubleToUnsignedFraction
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:162,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:163,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:165,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:172,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:173,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:175,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:176,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:188,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:189,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:189,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/combine_command.cc:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 198
    functionName: avif::CombineCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/combine_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - avifResultToString
    - std::max
    - value
    - EncoderPtr::get
    - avifImageCreate
    - avifDoubleToUnsignedFraction
    - avifImageComputeGainMap
    - grid::value
    - avifGainMapCreate
    - std::max<int>
    - provenance
    - ImagePtr::get
    - pixel_format::value
    - ReadImage
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: avifResult
    signature: avifResult CombineCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fraction
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: avif::FormatFraction
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFraction(T fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fractions
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: avif::FormatFractions
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setw
    - avif::FormatFraction
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFractions(const T fractions[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fraction
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: avif::FormatFraction
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFraction(T fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fractions
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: avif::FormatFractions
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setw
    - avif::FormatFraction
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFractions(const T fractions[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avif::PrintMetadataCommand::PrintMetadataCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void PrintMetadataCommand::PrintMetadataCommand()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: avifDecoderParse
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:53,1
    - Dst: assert
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:62,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:66,1
    - Dst: FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:67,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:69,1
    - Dst: FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:70,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:71,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:72,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:73,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:74,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:75,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:76,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:77,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:78,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:80,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:81,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decoder->image->gainMap)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 12
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: avif::PrintMetadataCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - value
    - avifDecoderSetIOFile
    - FormatFraction
    - FormatFractions
    - assert
    - DecoderPtr::get
    - std::setw
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: avifResult PrintMetadataCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fraction
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: avif::FormatFraction
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFraction(T fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fractions
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: avif::FormatFractions
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setw
    - avif::FormatFraction
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFractions(const T fractions[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fraction
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: avif::FormatFraction
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFraction(T fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:26,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:27,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: avif::FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:28,1
    - Dst: std::stringstream::str
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fractions
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: avif::FormatFractions
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setw
    - avif::FormatFraction
    linkageType: ''
    returnType: std::string
    signature: std::string FormatFractions(const T fractions[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avif::PrintMetadataCommand::PrintMetadataCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void PrintMetadataCommand::PrintMetadataCommand()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:46,1
    - Dst: avifDecoderParse
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:51,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:51,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:53,1
    - Dst: assert
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:62,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:66,1
    - Dst: FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:67,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:69,1
    - Dst: FormatFraction
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:70,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:71,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:72,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:73,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:74,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:75,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:76,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:77,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:78,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:80,1
    - Dst: FormatFractions
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:81,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (decoder->image->gainMap)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 12
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: avif::PrintMetadataCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - value
    - avifDecoderSetIOFile
    - FormatFraction
    - FormatFractions
    - assert
    - DecoderPtr::get
    - std::setw
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: avifResult PrintMetadataCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:17,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:18,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:19,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:23,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:26,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:31,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:37,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: avif::ConvertCommand::ConvertCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/convert_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void ConvertCommand::ConvertCommand()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:48,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:48,1
    - Dst: avifReadImage
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:55,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:62,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:70,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:71,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:72,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:73,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:102,1
    - Dst: ChangeBase
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:114,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:118,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:131,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:131,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:134,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 41
    functionDepth: 11
    functionLinenumber: 41
    functionLinenumberEnd: 141
    functionName: avif::ConvertCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/convert_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - avifResultToString
    - ChangeBase
    - value
    - swap
    - EncoderPtr::get
    - grid::value
    - avifReadImage
    - provenance
    - ImagePtr::get
    - pixel_format::value
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: avifResult
    signature: avifResult ConvertCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:17,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:18,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:19,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:23,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:26,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:31,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:37,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: avif::ConvertCommand::ConvertCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/convert_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void ConvertCommand::ConvertCommand()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<avifPixelFormat>
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:48,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:48,1
    - Dst: avifReadImage
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:55,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:56,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:62,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:70,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:71,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:72,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:73,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:102,1
    - Dst: ChangeBase
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:114,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:114,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:118,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:130,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:131,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:131,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/convert_command.cc:134,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 41
    functionDepth: 11
    functionLinenumber: 41
    functionLinenumberEnd: 141
    functionName: avif::ConvertCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/convert_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - avifResultToString
    - ChangeBase
    - value
    - swap
    - EncoderPtr::get
    - grid::value
    - avifReadImage
    - provenance
    - ImagePtr::get
    - pixel_format::value
    - static_cast<avifPixelFormat>
    linkageType: ''
    returnType: avifResult
    signature: avifResult ConvertCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: avif::Clamp
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T Clamp(T x, T low, T high)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:28,1
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:29,1
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:31,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:31,1
    - Dst: y4mWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:37,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:37,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:41,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:41,1
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:46,1
    - Dst: avifPNGWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:47,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:47,1
    - Dst: avif::WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:58,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - image
    - grid_cols
    - grid_rows
    - ' output_filename'
    - quality
    - speed
    argTypes:
    - avifImage*
    - int
    - int
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 66
    functionName: avif::WriteImage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached:
    - avifGuessFileFormat
    - c_str
    - avif::WriteAvifGrid
    - avifJPEGWrite
    - y4mWrite
    - EncoderPtr::get
    - avif::Clamp
    - avifPNGWrite
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteImage(const avifImage* image, int grid_cols, int grid_rows,\n
      \                     const std::string& output_filename, int quality,\n                      int
      speed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDump
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:72,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:77,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:79,1
    - Dst: std::ofstream::write
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:84,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:84,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:85,1
    - Dst: std::ofstream::fail
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:86,1
    - Dst: std::strerror
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - image
    - encoder
    - ' output_filename'
    argTypes:
    - avifImage*
    - avifEncoder*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: avif::WriteAvif
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - avifResultToString
    - avifImageDump
    - avifEncoderWrite
    - avifRWDataFree
    - std::ofstream::fail
    - std::strerror
    - std::ofstream::write
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteAvif(const avifImage* image, avifEncoder* encoder,\n
      \                    const std::string& output_filename)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::WriteAvif
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:98,1
    - Dst: avifImageSplitGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:106,1
    - Dst: std::vector::data
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:107,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:110,1
    - Dst: reset
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:118,1
    - Dst: avifImageDump
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:123,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:127,1
    - Dst: const_cast<const avifImage* const*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:129,1
    - Dst: std::vector::data
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:129,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:132,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:136,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:139,1
    - Dst: std::ofstream::write
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:145,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:145,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:146,1
    - Dst: std::ofstream::fail
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:147,1
    - Dst: std::strerror
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - image
    - grid_cols
    - grid_rows
    - encoder
    - ' filename'
    argTypes:
    - avifImage*
    - int
    - int
    - avifEncoder*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 154
    functionName: avif::WriteAvifGrid
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 1
    functionsReached:
    - avifImageDestroy
    - avifResultToString
    - reinterpret_cast<char*>
    - avifImageDump
    - avifRWDataFree
    - std::ofstream::write
    - std::ofstream::fail
    - std::vector::data
    - std::strerror
    - const_cast<const avifImage* const*>
    - avifImageSplitGrid
    - avif::WriteAvif
    - reset
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteAvifGrid(const avifImage* image, int grid_cols, int
      grid_rows,\n                         avifEncoder* encoder, const std::string&
      filename)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:159,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:159,1
    - Dst: avif::ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:168,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:175,1
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:177,1
    - Dst: avifReadImage
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:183,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:184,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - image
    - ' input_filename'
    - requested_format
    - requested_depth
    - ignore_profile
    argTypes:
    - avifImage*
    - std::string
    - avifPixelFormat
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 156
    functionDepth: 11
    functionLinenumber: 156
    functionLinenumberEnd: 205
    functionName: avif::ReadImage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached:
    - avifGuessFileFormat
    - swap
    - c_str
    - avif::ReadAvif
    - avifImageCopy
    - avifReadImage
    - DecoderPtr::get
    - static_cast<int>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ReadImage(avifImage* image, const std::string& input_filename,\n
      \                    avifPixelFormat requested_format, uint32_t requested_depth,\n
      \                    bool ignore_profile)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:209,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:209,1
    - Dst: avifDecoderParse
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:214,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:216,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:220,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:222,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:227,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - decoder
    - ' input_filename'
    - ignore_profile
    argTypes:
    - avifDecoder*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 12
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: avif::ReadAvif
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 1
    functionsReached:
    - avifResultToString
    - c_str
    - avifDecoderSetIOFile
    - avifDecoderNextImage
    - avifRWDataFree
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ReadAvif(avifDecoder* decoder, const std::string& input_filename,\n
      \                   bool ignore_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: avif::Clamp
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T Clamp(T x, T low, T high)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:28,1
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:29,1
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:31,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:31,1
    - Dst: y4mWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:37,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:37,1
    - Dst: avifJPEGWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:41,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:41,1
    - Dst: avif::Clamp
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:46,1
    - Dst: avifPNGWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:47,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:47,1
    - Dst: avif::WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:58,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - image
    - grid_cols
    - grid_rows
    - ' output_filename'
    - quality
    - speed
    argTypes:
    - avifImage*
    - int
    - int
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 25
    functionDepth: 10
    functionLinenumber: 25
    functionLinenumberEnd: 66
    functionName: avif::WriteImage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached:
    - avifGuessFileFormat
    - c_str
    - avif::WriteAvifGrid
    - avifJPEGWrite
    - y4mWrite
    - EncoderPtr::get
    - avif::Clamp
    - avifPNGWrite
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteImage(const avifImage* image, int grid_cols, int grid_rows,\n
      \                     const std::string& output_filename, int quality,\n                      int
      speed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDump
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:72,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:77,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:79,1
    - Dst: std::ofstream::write
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:84,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:84,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:85,1
    - Dst: std::ofstream::fail
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:86,1
    - Dst: std::strerror
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - image
    - encoder
    - ' output_filename'
    argTypes:
    - avifImage*
    - avifEncoder*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: avif::WriteAvif
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    - avifResultToString
    - avifImageDump
    - avifEncoderWrite
    - avifRWDataFree
    - std::ofstream::fail
    - std::strerror
    - std::ofstream::write
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteAvif(const avifImage* image, avifEncoder* encoder,\n
      \                    const std::string& output_filename)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avif::WriteAvif
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:98,1
    - Dst: avifImageSplitGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:106,1
    - Dst: std::vector::data
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:107,1
    - Dst: avifImageDestroy
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:110,1
    - Dst: reset
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:118,1
    - Dst: avifImageDump
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:123,1
    - Dst: avifEncoderAddImageGrid
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:127,1
    - Dst: const_cast<const avifImage* const*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:129,1
    - Dst: std::vector::data
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:129,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:132,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:136,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:139,1
    - Dst: std::ofstream::write
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:145,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:145,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:146,1
    - Dst: std::ofstream::fail
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:147,1
    - Dst: std::strerror
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - image
    - grid_cols
    - grid_rows
    - encoder
    - ' filename'
    argTypes:
    - avifImage*
    - int
    - int
    - avifEncoder*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 154
    functionName: avif::WriteAvifGrid
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 2
    functionsReached:
    - avifImageDestroy
    - avifResultToString
    - reinterpret_cast<char*>
    - avifImageDump
    - avifRWDataFree
    - std::ofstream::write
    - std::ofstream::fail
    - std::vector::data
    - std::strerror
    - const_cast<const avifImage* const*>
    - avifImageSplitGrid
    - avif::WriteAvif
    - reset
    - avifEncoderFinish
    - avifEncoderAddImageGrid
    linkageType: ''
    returnType: avifResult
    signature: "avifResult WriteAvifGrid(const avifImage* image, int grid_cols, int
      grid_rows,\n                         avifEncoder* encoder, const std::string&
      filename)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avifGuessFileFormat
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:159,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:159,1
    - Dst: avif::ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:168,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:168,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:175,1
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:177,1
    - Dst: avifReadImage
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:183,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:184,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - image
    - ' input_filename'
    - requested_format
    - requested_depth
    - ignore_profile
    argTypes:
    - avifImage*
    - std::string
    - avifPixelFormat
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 156
    functionDepth: 13
    functionLinenumber: 156
    functionLinenumberEnd: 205
    functionName: avif::ReadImage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 0
    functionsReached:
    - avifGuessFileFormat
    - swap
    - c_str
    - avif::ReadAvif
    - avifImageCopy
    - avifReadImage
    - DecoderPtr::get
    - static_cast<int>
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ReadImage(avifImage* image, const std::string& input_filename,\n
      \                    avifPixelFormat requested_format, uint32_t requested_depth,\n
      \                    bool ignore_profile)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:209,1
    - Dst: c_str
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:209,1
    - Dst: avifDecoderParse
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:214,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:216,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:220,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:222,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:227,1
    - Dst: avifRWDataFree
      Src: /src/libavif/apps/avifgainmaputil/imageio.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - decoder
    - ' input_filename'
    - ignore_profile
    argTypes:
    - avifDecoder*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 12
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: avif::ReadAvif
    functionSourceFile: /src/libavif/apps/avifgainmaputil/imageio.cc
    functionUses: 2
    functionsReached:
    - avifResultToString
    - c_str
    - avifDecoderSetIOFile
    - avifDecoderNextImage
    - avifRWDataFree
    - avifDecoderParse
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ReadAvif(avifDecoder* decoder, const std::string& input_filename,\n
      \                   bool ignore_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~ProgramCommand()
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: avif::ProgramCommand::name
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: avif::ProgramCommand::short_description
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string short_description() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:105,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:108,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:114,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' argparse'
    - can_have_alpha
    argTypes:
    - argparse::ArgumentParser
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: avif::Init
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void Init(argparse::ArgumentParser& argparse, bool can_have_alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:131,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:134,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' argparse'
    argTypes:
    - argparse::ArgumentParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: avif::Init
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void Init(argparse::ArgumentParser& argparse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:153,1
    - Dst: std::istringstream::bad
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:156,1
    - Dst: std::vector<T>*::push_back
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:159,1
    - Dst: std::vector<T>*::size
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - to_parse
    - delim
    - expected_num
    - out
    argTypes:
    - std::string
    - char
    - int
    - std::vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: avif::ParseList
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - std::getline
    - std::vector<T>*::size
    - std::vector<T>*::push_back
    - std::istringstream::bad
    linkageType: ''
    returnType: bool
    signature: "bool ParseList(std::string to_parse, char delim, int expected_num,\n
      \              std::vector<T>* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~ProgramCommand()
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: avif::ProgramCommand::name
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: avif::ProgramCommand::short_description
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string short_description() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:105,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:108,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:114,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' argparse'
    - can_have_alpha
    argTypes:
    - argparse::ArgumentParser
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: avif::Init
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void Init(argparse::ArgumentParser& argparse, bool can_have_alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:131,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:134,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' argparse'
    argTypes:
    - argparse::ArgumentParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: avif::Init
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - add_argument
    linkageType: ''
    returnType: void
    signature: void Init(argparse::ArgumentParser& argparse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:153,1
    - Dst: std::istringstream::bad
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:156,1
    - Dst: std::vector<T>*::push_back
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:159,1
    - Dst: std::vector<T>*::size
      Src: /src/libavif/apps/avifgainmaputil/program_command.h:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - to_parse
    - delim
    - expected_num
    - out
    argTypes:
    - std::string
    - char
    - int
    - std::vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: avif::ParseList
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.h
    functionUses: 0
    functionsReached:
    - std::getline
    - std::vector<T>*::size
    - std::vector<T>*::push_back
    - std::istringstream::bad
    linkageType: ''
    returnType: bool
    signature: "bool ParseList(std::string to_parse, char delim, int expected_num,\n
      \              std::vector<T>* out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argparse::ArgumentParser
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' name'
    - ' short_description'
    - ' long_description'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: avif::ProgramCommand::ProgramCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ArgumentParser
    linkageType: ''
    returnType: void
    signature: "void ProgramCommand::ProgramCommand(const std::string& name,\n                               const
      std::string& short_description,\n                               const std::string&
      long_description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: avif::ProgramCommand::ParseArgs
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - parse_args
    linkageType: ''
    returnType: avifResult
    signature: avifResult ProgramCommand::ParseArgs(int argc, const char* const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: avif::ProgramCommand::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - print_help
    linkageType: ''
    returnType: void
    signature: void ProgramCommand::PrintUsage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:30,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:32,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:34,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:36,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: avif::PixelFormatConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    linkageType: ''
    returnType: argparse::ConvertedValue<int>
    signature: "argparse::ConvertedValue<int> PixelFormatConverter::from_str(\n    const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: avif::PixelFormatConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PixelFormatConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:52,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:53,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: avif::CicpConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<CicpValues>
    signature: "argparse::ConvertedValue<CicpValues> CicpConverter::from_str(\n    const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: avif::CicpConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> CicpConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:76,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:77,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: avif::ClliConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<avifContentLightLevelInformationBox>
    signature: argparse::ConvertedValue<avifContentLightLevelInformationBox> ClliConverter::from_str(const
      std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: avif::ClliConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> ClliConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:98,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:100,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: avif::GridOptionsConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<GridOptions>
    signature: "argparse::ConvertedValue<GridOptions> GridOptionsConverter::from_str(\n
      \   const std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: avif::GridOptionsConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GridOptionsConverter::default_choices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argparse::ArgumentParser
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' name'
    - ' short_description'
    - ' long_description'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: avif::ProgramCommand::ProgramCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ArgumentParser
    linkageType: ''
    returnType: void
    signature: "void ProgramCommand::ProgramCommand(const std::string& name,\n                               const
      std::string& short_description,\n                               const std::string&
      long_description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: avif::ProgramCommand::ParseArgs
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - parse_args
    linkageType: ''
    returnType: avifResult
    signature: avifResult ProgramCommand::ParseArgs(int argc, const char* const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: avif::ProgramCommand::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - print_help
    linkageType: ''
    returnType: void
    signature: void ProgramCommand::PrintUsage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:30,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:32,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:34,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:36,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: avif::PixelFormatConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    linkageType: ''
    returnType: argparse::ConvertedValue<int>
    signature: "argparse::ConvertedValue<int> PixelFormatConverter::from_str(\n    const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: avif::PixelFormatConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PixelFormatConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:52,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:53,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: avif::CicpConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<CicpValues>
    signature: "argparse::ConvertedValue<CicpValues> CicpConverter::from_str(\n    const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: avif::CicpConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> CicpConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:76,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:77,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: avif::ClliConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<avifContentLightLevelInformationBox>
    signature: argparse::ConvertedValue<avifContentLightLevelInformationBox> ClliConverter::from_str(const
      std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: avif::ClliConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> ClliConverter::default_choices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseList
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:98,1
    - Dst: argparse::ConvertedValue::set_error
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:100,1
    - Dst: argparse::ConvertedValue::set_value
      Src: /src/libavif/apps/avifgainmaputil/program_command.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: avif::GridOptionsConverter::from_str
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached:
    - argparse::ConvertedValue::set_error
    - argparse::ConvertedValue::set_value
    - ParseList
    linkageType: ''
    returnType: argparse::ConvertedValue<GridOptions>
    signature: "argparse::ConvertedValue<GridOptions> GridOptionsConverter::from_str(\n
      \   const std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: avif::GridOptionsConverter::default_choices
    functionSourceFile: /src/libavif/apps/avifgainmaputil/program_command.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GridOptionsConverter::default_choices()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:18,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:29,1
    - Dst: static_cast<avifTransferCharacteristics>
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:44,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:57,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:64,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:69,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:73,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:75,1
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:82,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:90,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:106,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 4
    argNames:
    - ' image'
    - depth
    - yuvFormat
    - swapped
    argTypes:
    - avifImage
    - int
    - avifPixelFormat
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 11
    functionDepth: 6
    functionLinenumber: 11
    functionLinenumberEnd: 112
    functionName: avif::ChangeBase
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - avifRWDataSet
    - static_cast<avifTransferCharacteristics>
    - swap
    - static_cast<float>
    - avifImageCopy
    - avifImageApplyGainMap
    - avifRGBImageSetDefaults
    - avifImageRGBToYUV
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ChangeBase(const avifImage& image, int depth,\n                      avifPixelFormat
      yuvFormat, avifImage* swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:122,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:123,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:124,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:125,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:126,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:129,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:135,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:141,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 153
    functionName: avif::SwapBaseCommand::SwapBaseCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void SwapBaseCommand::SwapBaseCommand()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:161,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:174,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:175,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:176,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:177,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:179,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:180,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:182,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:184,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:187,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:188,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:190,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:191,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:200,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:204,1
    - Dst: ChangeBase
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:215,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:215,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:230,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 239
    functionName: avif::SwapBaseCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - std::max
    - avifResultToString
    - ChangeBase
    - value
    - EncoderPtr::get
    - grid::value
    - ReadAvif
    - DecoderPtr::get
    - provenance
    - ImagePtr::get
    - pixel_format::value
    linkageType: ''
    returnType: avifResult
    signature: avifResult SwapBaseCommand::Run()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:18,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:29,1
    - Dst: static_cast<avifTransferCharacteristics>
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:44,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:57,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:64,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:69,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:73,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:75,1
    - Dst: avifImageCopy
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:82,1
    - Dst: avifRWDataSet
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:90,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:106,1
    - Dst: swap
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 4
    argNames:
    - ' image'
    - depth
    - yuvFormat
    - swapped
    argTypes:
    - avifImage
    - int
    - avifPixelFormat
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 11
    functionDepth: 6
    functionLinenumber: 11
    functionLinenumberEnd: 112
    functionName: avif::ChangeBase
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - avifResultToString
    - avifRWDataSet
    - static_cast<avifTransferCharacteristics>
    - swap
    - static_cast<float>
    - avifImageCopy
    - avifImageApplyGainMap
    - avifRGBImageSetDefaults
    - avifImageRGBToYUV
    linkageType: ''
    returnType: avifResult
    signature: "avifResult ChangeBase(const avifImage& image, int depth,\n                      avifPixelFormat
      yuvFormat, avifImage* swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:122,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:123,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:124,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:125,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:126,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:129,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:135,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:141,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 153
    functionName: avif::SwapBaseCommand::SwapBaseCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void SwapBaseCommand::SwapBaseCommand()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:161,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:161,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:174,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:175,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:176,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:177,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:179,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:180,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:182,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:184,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:187,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:188,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:190,1
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:191,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:200,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:204,1
    - Dst: ChangeBase
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:215,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:215,1
    - Dst: WriteAvifGrid
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:229,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:230,1
    - Dst: EncoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:230,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/swapbase_command.cc:233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 239
    functionName: avif::SwapBaseCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
    functionUses: 0
    functionsReached:
    - WriteAvifGrid
    - std::max
    - avifResultToString
    - ChangeBase
    - value
    - EncoderPtr::get
    - grid::value
    - ReadAvif
    - DecoderPtr::get
    - provenance
    - ImagePtr::get
    - pixel_format::value
    linkageType: ''
    returnType: avifResult
    signature: avifResult SwapBaseCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: avif::HelpCommand::HelpCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: avif::HelpCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:38,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:42,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: short_description
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' commands'
    argTypes:
    - std::vector<std::unique_ptr<ProgramCommand>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: avif::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached:
    - std::max
    - short_description
    - name
    - avifPrintVersions
    - std::setw
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void PrintUsage(const std::vector<std::unique_ptr<ProgramCommand>>&
      commands)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: avif::HelpCommand::HelpCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: avif::HelpCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:38,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:42,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: short_description
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' commands'
    argTypes:
    - std::vector<std::unique_ptr<ProgramCommand>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: avif::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached:
    - std::max
    - short_description
    - name
    - avifPrintVersions
    - std::setw
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void PrintUsage(const std::vector<std::unique_ptr<ProgramCommand>>&
      commands)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: avif::HelpCommand::HelpCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: avif::HelpCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:38,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:42,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: short_description
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' commands'
    argTypes:
    - std::vector<std::unique_ptr<ProgramCommand>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: avif::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached:
    - std::max
    - short_description
    - name
    - avifPrintVersions
    - std::setw
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void PrintUsage(const std::vector<std::unique_ptr<ProgramCommand>>&
      commands)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: avif::HelpCommand::HelpCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HelpCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: avif::HelpCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:38,1
    - Dst: static_cast<int>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:39,1
    - Dst: std::setw
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:42,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: short_description
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:43,1
    - Dst: avifPrintVersions
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' commands'
    argTypes:
    - std::vector<std::unique_ptr<ProgramCommand>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: avif::PrintUsage
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached:
    - std::max
    - short_description
    - name
    - avifPrintVersions
    - std::setw
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void PrintUsage(const std::vector<std::unique_ptr<ProgramCommand>>&
      commands)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:80,1
    - Dst: std::make_unique<avif::HelpCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:80,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:81,1
    - Dst: std::make_unique<avif::CombineCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:81,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:82,1
    - Dst: std::make_unique<avif::ConvertCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:83,1
    - Dst: std::make_unique<avif::TonemapCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:83,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:84,1
    - Dst: std::make_unique<avif::SwapBaseCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:85,1
    - Dst: std::make_unique<avif::ExtractGainMapCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:85,1
    - Dst: std::vector::emplace_back
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:86,1
    - Dst: std::make_unique<avif::PrintMetadataCommand>
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:86,1
    - Dst: avif::PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:90,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:99,1
    - Dst: PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:100,1
    - Dst: avif::PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:105,1
    - Dst: avif::PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:108,1
    - Dst: name
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:114,1
    - Dst: ParseArgs
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:116,1
    - Dst: Run
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:118,1
    - Dst: PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:122,1
    - Dst: what
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:126,1
    - Dst: PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:127,1
    - Dst: avif::PrintUsage
      Src: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::make_unique<avif::SwapBaseCommand>
    - std::make_unique<avif::PrintMetadataCommand>
    - std::make_unique<avif::TonemapCommand>
    - ParseArgs
    - Run
    - what
    - std::make_unique<avif::CombineCommand>
    - PrintUsage
    - std::make_unique<avif::ConvertCommand>
    - name
    - std::make_unique<avif::ExtractGainMapCommand>
    - std::make_unique<avif::HelpCommand>
    - avif::PrintUsage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:20,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:21,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:22,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:27,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:33,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:45,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:51,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 53
    functionName: avif::TonemapCommand::TonemapCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/tonemap_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void TonemapCommand::TonemapCommand()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:56,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:57,1
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:67,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:85,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:88,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:107,1
    - Dst: static_cast<avifTransferCharacteristics>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:125,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:141,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:141,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:148,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:153,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:163,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:163,1
    - Dst: avifImageCreate
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:180,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:185,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:185,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:187,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:192,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:196,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:196,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:198,1
    - Dst: WriteImage
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:209,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 212
    functionName: avif::TonemapCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/tonemap_command.cc
    functionUses: 0
    functionsReached:
    - avifImageRGBToYUV
    - std::max
    - avifResultToString
    - value
    - static_cast<avifTransferCharacteristics>
    - WriteImage
    - avifImageCreate
    - static_cast<float>
    - grid::value
    - ReadAvif
    - std::min
    - avifImageApplyGainMap
    - DecoderPtr::get
    - avifRGBImageSetDefaults
    - provenance
    - ImagePtr::get
    - pixel_format::value
    linkageType: ''
    returnType: avifResult
    signature: avifResult TonemapCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:20,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:21,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:22,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:27,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:33,1
    - Dst: add_argument
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:45,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:51,1
    - Dst: Init
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 53
    functionName: avif::TonemapCommand::TonemapCommand
    functionSourceFile: /src/libavif/apps/avifgainmaputil/tonemap_command.cc
    functionUses: 0
    functionsReached:
    - Init
    - add_argument
    linkageType: ''
    returnType: void
    signature: void TonemapCommand::TonemapCommand()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:56,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:57,1
    - Dst: ReadAvif
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:67,1
    - Dst: DecoderPtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:67,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:85,1
    - Dst: static_cast<float>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:88,1
    - Dst: provenance
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:107,1
    - Dst: static_cast<avifTransferCharacteristics>
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:125,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:141,1
    - Dst: std::max
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:141,1
    - Dst: pixel_format::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:148,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:153,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:163,1
    - Dst: std::min
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:163,1
    - Dst: avifImageCreate
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:180,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:185,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:185,1
    - Dst: avifImageApplyGainMap
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:187,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:192,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:196,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:196,1
    - Dst: avifResultToString
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:198,1
    - Dst: WriteImage
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: ImagePtr::get
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:208,1
    - Dst: grid::value
      Src: /src/libavif/apps/avifgainmaputil/tonemap_command.cc:209,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 212
    functionName: avif::TonemapCommand::Run
    functionSourceFile: /src/libavif/apps/avifgainmaputil/tonemap_command.cc
    functionUses: 0
    functionsReached:
    - avifImageRGBToYUV
    - std::max
    - avifResultToString
    - value
    - static_cast<avifTransferCharacteristics>
    - WriteImage
    - avifImageCreate
    - static_cast<float>
    - grid::value
    - ReadAvif
    - std::min
    - avifImageApplyGainMap
    - DecoderPtr::get
    - avifRGBImageSetDefaults
    - provenance
    - ImagePtr::get
    - pixel_format::value
    linkageType: ''
    returnType: avifResult
    signature: avifResult TonemapCommand::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - low
    - ','
    - high
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: AVIF_CLAMP
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CLAMP(x, low, high)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: AVIF_MIN
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: AVIF_MAX
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: avifBreakOnError
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avifBreakOnError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: AVIF_CHECK
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: AVIF_CHECKERR
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKERR(A, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: AVIF_CHECKRES
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_CHECKRES(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: AVIF_ASSERT_OR_RETURN
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_ASSERT_OR_RETURN(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: AVIF_ASSERT_OR_RETURN
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_ASSERT_OR_RETURN(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPENAME
    - ','
    - ITEMSTYPE
    - ','
    - ITEMSNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: AVIF_ARRAY_DECLARE
    functionSourceFile: /src/libavif/include/avif/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVIF_ARRAY_DECLARE(TYPENAME, ITEMSTYPE, ITEMSNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator()(avifDecoder * decoder) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifDecoderDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifDecoder * decoder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator()(avifEncoder * encoder) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifEncoderDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifEncoder * encoder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator()(avifGainMap * gainMap) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifGainMapDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifGainMap * gainMap) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: operator()(avifImage * image) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifImage * image) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: avif::RGBImageCleanup::RGBImageCleanup
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RGBImageCleanup(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/include/avif/avif_cxx.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RGBImageCleanup()
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~RGBImageCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - avifDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator()(avifDecoder * decoder) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifDecoderDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifDecoder * decoder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifEncoderDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - avifEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator()(avifEncoder * encoder) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifEncoderDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifEncoder * encoder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifGainMapDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gainMap
    argTypes:
    - avifGainMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator()(avifGainMap * gainMap) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifGainMapDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifGainMap * gainMap) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifImageDestroy
      Src: /src/libavif/include/avif/avif_cxx.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - avifImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: operator()(avifImage * image) const
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifImageDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(avifImage * image) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rgb
    argTypes:
    - avifRGBImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: avif::RGBImageCleanup::RGBImageCleanup
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RGBImageCleanup(avifRGBImage * rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/include/avif/avif_cxx.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RGBImageCleanup()
    functionSourceFile: /src/libavif/include/avif/avif_cxx.h
    functionUses: 0
    functionsReached:
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: void
    signature: void ~RGBImageCleanup()
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - io
    - readFlags
    - offset
    - size
    - out
    argTypes:
    - struct avifIO*
    - uint32_t
    - uint64_t
    - size_t
    - avifROData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 89
    functionName: avifIOStreamingReaderRead
    functionSourceFile: /src/libavif/examples/avif_example_decode_streaming.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avifResult
    signature: avifResult avifIOStreamingReaderRead(struct avifIO * io, uint32_t readFlags,
      uint64_t offset, size_t size, avifROData * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libavif/examples/avif_example_decode_streaming.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - struct avifIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: avifIOStreamingReaderDestroy
    functionSourceFile: /src/libavif/examples/avif_example_decode_streaming.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void avifIOStreamingReaderDestroy(struct avifIO * io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libavif/examples/avif_example_decode_streaming.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: avifIOCreateStreamingReader
    functionSourceFile: /src/libavif/examples/avif_example_decode_streaming.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: avifIOStreamingReader
    signature: avifIOStreamingReader * avifIOCreateStreamingReader(const uint8_t *
      data, size_t size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:126,1
    - Dst: fopen
      Src: /src/libavif/examples/avif_example_decode_streaming.c:137,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:139,1
    - Dst: fseek
      Src: /src/libavif/examples/avif_example_decode_streaming.c:142,1
    - Dst: ftell
      Src: /src/libavif/examples/avif_example_decode_streaming.c:143,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:145,1
    - Dst: fseek
      Src: /src/libavif/examples/avif_example_decode_streaming.c:148,1
    - Dst: malloc
      Src: /src/libavif/examples/avif_example_decode_streaming.c:149,1
    - Dst: fread
      Src: /src/libavif/examples/avif_example_decode_streaming.c:150,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:152,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/examples/avif_example_decode_streaming.c:156,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:158,1
    - Dst: avifIOCreateStreamingReader
      Src: /src/libavif/examples/avif_example_decode_streaming.c:163,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:165,1
    - Dst: avifDecoderSetIO
      Src: /src/libavif/examples/avif_example_decode_streaming.c:168,1
    - Dst: avifDecoderParse
      Src: /src/libavif/examples/avif_example_decode_streaming.c:180,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:190,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_streaming.c:195,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/examples/avif_example_decode_streaming.c:201,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_streaming.c:211,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_streaming.c:216,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/examples/avif_example_decode_streaming.c:225,1
    - Dst: fclose
      Src: /src/libavif/examples/avif_example_decode_streaming.c:228,1
    - Dst: free
      Src: /src/libavif/examples/avif_example_decode_streaming.c:230,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 123
    functionDepth: 12
    functionLinenumber: 123
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/libavif/examples/avif_example_decode_streaming.c
    functionUses: 0
    functionsReached:
    - fopen
    - avifDecoderCreate
    - avifResultToString
    - fprintf
    - avifDecoderNextImage
    - avifIOCreateStreamingReader
    - printf
    - avifDecoderDestroy
    - fseek
    - avifDecoderSetIO
    - fclose
    - malloc
    - free
    - fread
    - avifDecoderParse
    - ftell
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:13,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_decode_file.c:20,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/examples/avif_example_decode_file.c:22,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:24,1
    - Dst: avifDecoderSetIOFile
      Src: /src/libavif/examples/avif_example_decode_file.c:29,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:31,1
    - Dst: avifDecoderParse
      Src: /src/libavif/examples/avif_example_decode_file.c:35,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:37,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_file.c:37,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_file.c:51,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/examples/avif_example_decode_file.c:53,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/examples/avif_example_decode_file.c:59,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/examples/avif_example_decode_file.c:65,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:67,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_file.c:67,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/examples/avif_example_decode_file.c:71,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_file.c:73,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_file.c:73,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_file.c:82,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_file.c:85,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/examples/avif_example_decode_file.c:91,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/examples/avif_example_decode_file.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 10
    functionDepth: 12
    functionLinenumber: 10
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/libavif/examples/avif_example_decode_file.c
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - avifResultToString
    - fprintf
    - avifDecoderSetIOFile
    - avifDecoderNextImage
    - printf
    - avifRGBImageAllocatePixels
    - avifDecoderDestroy
    - avifRGBImageSetDefaults
    - avifImageYUVToRGB
    - memset
    - avifDecoderParse
    - avifRGBImageFreePixels
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:14,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_decode_memory.c:21,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/examples/avif_example_decode_memory.c:23,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:25,1
    - Dst: fopen
      Src: /src/libavif/examples/avif_example_decode_memory.c:33,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:35,1
    - Dst: fseek
      Src: /src/libavif/examples/avif_example_decode_memory.c:38,1
    - Dst: ftell
      Src: /src/libavif/examples/avif_example_decode_memory.c:39,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:41,1
    - Dst: fseek
      Src: /src/libavif/examples/avif_example_decode_memory.c:44,1
    - Dst: malloc
      Src: /src/libavif/examples/avif_example_decode_memory.c:45,1
    - Dst: fread
      Src: /src/libavif/examples/avif_example_decode_memory.c:46,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:48,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/examples/avif_example_decode_memory.c:52,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:54,1
    - Dst: avifDecoderParse
      Src: /src/libavif/examples/avif_example_decode_memory.c:58,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:60,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_memory.c:60,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_memory.c:74,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/examples/avif_example_decode_memory.c:76,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/examples/avif_example_decode_memory.c:82,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/examples/avif_example_decode_memory.c:88,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:90,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_memory.c:90,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/examples/avif_example_decode_memory.c:94,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_decode_memory.c:96,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_decode_memory.c:96,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_memory.c:105,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_decode_memory.c:108,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/examples/avif_example_decode_memory.c:114,1
    - Dst: avifDecoderDestroy
      Src: /src/libavif/examples/avif_example_decode_memory.c:115,1
    - Dst: fclose
      Src: /src/libavif/examples/avif_example_decode_memory.c:117,1
    - Dst: free
      Src: /src/libavif/examples/avif_example_decode_memory.c:119,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/libavif/examples/avif_example_decode_memory.c
    functionUses: 0
    functionsReached:
    - avifRGBImageAllocatePixels
    - fprintf
    - free
    - malloc
    - ftell
    - fseek
    - avifImageYUVToRGB
    - avifRGBImageSetDefaults
    - memset
    - avifRGBImageFreePixels
    - avifDecoderParse
    - fopen
    - avifDecoderCreate
    - avifResultToString
    - printf
    - avifDecoderDestroy
    - fclose
    - fread
    - avifDecoderNextImage
    - avifDecoderSetIOMemory
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:13,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:26,1
    - Dst: avifImageCreate
      Src: /src/libavif/examples/avif_example_encode.c:28,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:30,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_encode.c:46,1
    - Dst: avifImageAllocatePlanes
      Src: /src/libavif/examples/avif_example_encode.c:48,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:50,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_encode.c:50,1
    - Dst: avifImagePlaneHeight
      Src: /src/libavif/examples/avif_example_encode.c:55,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:56,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:57,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:58,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:59,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_encode.c:62,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/examples/avif_example_encode.c:64,1
    - Dst: avifRGBImageAllocatePixels
      Src: /src/libavif/examples/avif_example_encode.c:70,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:72,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_encode.c:72,1
    - Dst: memset
      Src: /src/libavif/examples/avif_example_encode.c:77,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/examples/avif_example_encode.c:79,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:81,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_encode.c:81,1
    - Dst: avifEncoderCreate
      Src: /src/libavif/examples/avif_example_encode.c:86,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:88,1
    - Dst: avifEncoderAddImage
      Src: /src/libavif/examples/avif_example_encode.c:106,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:108,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_encode.c:108,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:110,1
    - Dst: avifEncoderFinish
      Src: /src/libavif/examples/avif_example_encode.c:115,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:117,1
    - Dst: avifResultToString
      Src: /src/libavif/examples/avif_example_encode.c:117,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_encode.c:121,1
    - Dst: fopen
      Src: /src/libavif/examples/avif_example_encode.c:123,1
    - Dst: fwrite
      Src: /src/libavif/examples/avif_example_encode.c:124,1
    - Dst: fclose
      Src: /src/libavif/examples/avif_example_encode.c:125,1
    - Dst: fprintf
      Src: /src/libavif/examples/avif_example_encode.c:127,1
    - Dst: printf
      Src: /src/libavif/examples/avif_example_encode.c:130,1
    - Dst: avifImageDestroy
      Src: /src/libavif/examples/avif_example_encode.c:135,1
    - Dst: avifEncoderDestroy
      Src: /src/libavif/examples/avif_example_encode.c:138,1
    - Dst: avifRWDataFree
      Src: /src/libavif/examples/avif_example_encode.c:140,1
    - Dst: avifRGBImageFreePixels
      Src: /src/libavif/examples/avif_example_encode.c:141,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 10
    functionDepth: 7
    functionLinenumber: 10
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/libavif/examples/avif_example_encode.c
    functionUses: 0
    functionsReached:
    - avifRGBImageAllocatePixels
    - fprintf
    - avifImagePlaneHeight
    - avifImageAllocatePlanes
    - avifImageCreate
    - avifEncoderAddImage
    - avifRGBImageSetDefaults
    - memset
    - avifImageRGBToYUV
    - avifRGBImageFreePixels
    - avifEncoderFinish
    - avifEncoderCreate
    - fopen
    - avifResultToString
    - fwrite
    - printf
    - avifRWDataFree
    - fclose
    - avifEncoderDestroy
    - avifImageDestroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avifDecoderDestroy
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:37,1
    - Dst: g_byte_array_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:42,1
    - Dst: g_bytes_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:47,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:52,1
    - Dst: g_free
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct avif_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 7
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: avif_context_free
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - avifDecoderDestroy
    - g_free
    - g_bytes_unref
    - g_object_unref
    - g_byte_array_unref
    linkageType: ''
    returnType: void
    signature: void avif_context_free (struct avif_context *context)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:71,1
    - Dst: avifDecoderSetIOMemory
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:73,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:75,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:76,1
    - Dst: avifDecoderParse
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:80,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:82,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:83,1
    - Dst: g_set_error_literal
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:88,1
    - Dst: avifDecoderNextImage
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:93,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:98,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:99,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:107,1
    - Dst: gdk_pixbuf_new
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:112,1
    - Dst: gdk_pixbuf_new
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:116,1
    - Dst: g_set_error_literal
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:121,1
    - Dst: gdk_pixbuf_get_pixels
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:128,1
    - Dst: gdk_pixbuf_get_rowstride
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:129,1
    - Dst: avifImageYUVToRGB
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:131,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:133,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:134,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:135,1
    - Dst: gdk_pixbuf_new_subpixbuf
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:174,1
    - Dst: gdk_pixbuf_copy
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:175,1
    - Dst: g_clear_object
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:176,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:179,1
    - Dst: g_warning
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:185,1
    - Dst: gdk_pixbuf_rotate_simple
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:194,1
    - Dst: gdk_pixbuf_rotate_simple
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:197,1
    - Dst: gdk_pixbuf_rotate_simple
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:200,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:205,1
    - Dst: gdk_pixbuf_flip
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:215,1
    - Dst: gdk_pixbuf_flip
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:218,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:223,1
    - Dst: gdk_pixbuf_get_width
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:229,1
    - Dst: gdk_pixbuf_get_height
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:230,1
    - Dst: g_set_error_literal
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:237,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:241,1
    - Dst: gdk_pixbuf_get_width
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:245,1
    - Dst: gdk_pixbuf_get_height
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:245,1
    - Dst: gdk_pixbuf_scale_simple
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:248,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:250,1
    - Dst: g_base64_encode
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:256,1
    - Dst: gdk_pixbuf_set_option
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:257,1
    - Dst: g_free
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:258,1
    - Dst: g_object_unref
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:262,1
    - Dst: struct avif_context*::prepared_func
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:267,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 144
    argCount: 2
    argNames:
    - context
    - error
    argTypes:
    - struct avif_context*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 59
    functionDepth: 12
    functionLinenumber: 59
    functionLinenumberEnd: 270
    functionName: avif_context_try_load
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - gdk_pixbuf_rotate_simple
    - gdk_pixbuf_get_height
    - gdk_pixbuf_scale_simple
    - g_bytes_get_data
    - g_object_unref
    - gdk_pixbuf_get_width
    - gdk_pixbuf_get_pixels
    - gdk_pixbuf_flip
    - avifImageYUVToRGB
    - avifRGBImageSetDefaults
    - avifDecoderParse
    - g_clear_object
    - gdk_pixbuf_copy
    - avifResultToString
    - g_base64_encode
    - g_free
    - gdk_pixbuf_set_option
    - avifDecoderNextImage
    - g_warning
    - gdk_pixbuf_get_rowstride
    - gdk_pixbuf_new
    - avifDecoderSetIOMemory
    - struct avif_context*::prepared_func
    - g_set_error
    - gdk_pixbuf_new_subpixbuf
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: gboolean avif_context_try_load (struct avif_context *context, GError
      **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:282,1
    - Dst: avifDecoderCreate
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:284,1
    - Dst: g_set_error_literal
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:286,1
    - Dst: g_new0
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:291,1
    - Dst: g_byte_array_sized_new
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - size_func
    - prepared_func
    - updated_func
    - user_data
    - error
    argTypes:
    - GdkPixbufModuleSizeFunc
    - GdkPixbufModulePreparedFunc
    - GdkPixbufModuleUpdatedFunc
    - gpointer
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 304
    functionName: begin_load
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - avifDecoderCreate
    - g_byte_array_sized_new
    - g_new0
    - g_set_error_literal
    - g_assert
    linkageType: ''
    returnType: gpointer
    signature: "gpointer begin_load (GdkPixbufModuleSizeFunc size_func,\n            GdkPixbufModulePreparedFunc
      prepared_func,\n            GdkPixbufModuleUpdatedFunc updated_func,\n            gpointer
      user_data,\n            GError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_free_to_bytes
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:312,1
    - Dst: avif_context_try_load
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:314,1
    - Dst: avif_context_free
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - gpointer
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 13
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: stop_load
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - avif_context_free
    - avif_context_try_load
    - g_byte_array_free_to_bytes
    linkageType: ''
    returnType: gboolean
    signature: gboolean stop_load (gpointer data, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_byte_array_append
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - buf
    - size
    - error
    argTypes:
    - gpointer
    - guchar*
    - guint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: load_increment
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - g_byte_array_append
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_increment (gpointer data, const guchar *buf, guint size,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - option_key
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: avif_is_save_option_supported
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean avif_is_save_option_supported (const gchar *option_key)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:367,1
    - Dst: strtol
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:369,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:372,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:382,1
    - Dst: g_warning
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:391,1
    - Dst: gdk_pixbuf_get_bits_per_sample
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:399,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:400,1
    - Dst: gdk_pixbuf_get_width
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:407,1
    - Dst: gdk_pixbuf_get_height
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:408,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:411,1
    - Dst: gdk_pixbuf_get_has_alpha
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:418,1
    - Dst: gdk_pixbuf_get_n_channels
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:421,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:422,1
    - Dst: gdk_pixbuf_get_n_channels
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:429,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:430,1
    - Dst: avifImageCreate
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:438,1
    - Dst: avifRGBImageSetDefaults
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:440,1
    - Dst: gdk_pixbuf_read_pixels
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:443,1
    - Dst: gdk_pixbuf_get_rowstride
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:444,1
    - Dst: avifImageRGBToYUV
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:452,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:454,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:457,1
    - Dst: avifImageDestroy
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:458,1
    - Dst: g_get_num_processors
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:462,1
    - Dst: avifEncoderCreate
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:463,1
    - Dst: CLAMP
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:465,1
    - Dst: avifEncoderWrite
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:476,1
    - Dst: avifEncoderDestroy
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:477,1
    - Dst: avifImageDestroy
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:478,1
    - Dst: fwrite
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:481,1
    - Dst: avifRWDataFree
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:482,1
    - Dst: g_set_error
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:486,1
    - Dst: avifResultToString
      Src: /src/libavif/contrib/gdk-pixbuf/loader.c:489,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 5
    argNames:
    - f
    - pixbuf
    - keys
    - values
    - error
    argTypes:
    - FILE*
    - GdkPixbuf*
    - gchar**
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 341
    functionDepth: 8
    functionLinenumber: 341
    functionLinenumberEnd: 491
    functionName: avif_image_saver
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached:
    - gdk_pixbuf_get_height
    - gdk_pixbuf_get_bits_per_sample
    - gdk_pixbuf_get_has_alpha
    - gdk_pixbuf_get_n_channels
    - gdk_pixbuf_get_width
    - g_get_num_processors
    - avifImageCreate
    - CLAMP
    - strcmp
    - avifRGBImageSetDefaults
    - avifImageRGBToYUV
    - avifEncoderCreate
    - strtol
    - avifResultToString
    - fwrite
    - avifRWDataFree
    - avifEncoderDestroy
    - avifImageDestroy
    - g_warning
    - gdk_pixbuf_get_rowstride
    - avifEncoderWrite
    - gdk_pixbuf_read_pixels
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean avif_image_saver (FILE *f,\n                  GdkPixbuf *pixbuf,\n
      \                 gchar **keys,\n                  gchar **values,\n                  GError
      **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - module
    argTypes:
    - GdkPixbufModule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: fill_vtable
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: G_MODULE_EXPORT fill_vtable (GdkPixbufModule *module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - GdkPixbufFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 527
    functionName: fill_info
    functionSourceFile: /src/libavif/contrib/gdk-pixbuf/loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G_MODULE_EXPORT
    signature: G_MODULE_EXPORT fill_info (GdkPixbufFormat *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Abs
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Abs(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dx
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: CENTERSTART
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CENTERSTART(dx, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: MIN1
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iboxwidth
    - src_ptr
    argTypes:
    - int
    - uint16_t*
    assertStmts:
    - condition: (iboxwidth > 0)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: SumPixels
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SumPixels(int iboxwidth, const uint16_t* src_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iboxwidth
    - src_ptr
    argTypes:
    - int
    - uint32_t*
    assertStmts:
    - condition: (iboxwidth > 0)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: SumPixels_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SumPixels_16(int iboxwidth, const uint32_t* src_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:58,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:59,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:63,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:65,1
    - Dst: SumPixels
      Src: /src/libavif/third_party/libyuv/source/scale.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - dst_width
    - boxheight
    - x
    - dx
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint8_t*
    assertStmts:
    - condition: ((scaletbl_index == 0) || (scaletbl_index == 1))
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: ScaleAddCols2_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - SumPixels
    - MIN1
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleAddCols2_C(int dst_width,\n                            int
      boxheight,\n                            int x,\n                            int
      dx,\n                            const uint16_t* src_ptr,\n                            uint8_t*
      dst_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:82,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:83,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:87,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:89,1
    - Dst: SumPixels_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - dst_width
    - boxheight
    - x
    - dx
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: ((scaletbl_index == 0) || (scaletbl_index == 1))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: ScaleAddCols2_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - SumPixels_16
    - MIN1
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleAddCols2_16_C(int dst_width,\n                               int
      boxheight,\n                               int x,\n                               int
      dx,\n                               const uint32_t* src_ptr,\n                               uint16_t*
      dst_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dst_width
    - boxheight
    - x
    - dx
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: ScaleAddCols0_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScaleAddCols0_C(int dst_width,\n                            int
      boxheight,\n                            int x,\n                            int
      dx,\n                            const uint16_t* src_ptr,\n                            uint8_t*
      dst_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:116,1
    - Dst: SumPixels
      Src: /src/libavif/third_party/libyuv/source/scale.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dst_width
    - boxheight
    - x
    - dx
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: ScaleAddCols1_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - SumPixels
    - MIN1
    linkageType: ''
    returnType: void
    signature: "void ScaleAddCols1_C(int dst_width,\n                            int
      boxheight,\n                            int x,\n                            int
      dx,\n                            const uint16_t* src_ptr,\n                            uint8_t*
      dst_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:132,1
    - Dst: SumPixels_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - dst_width
    - boxheight
    - x
    - dx
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: ScaleAddCols1_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - SumPixels_16
    - MIN1
    linkageType: ''
    returnType: void
    signature: "void ScaleAddCols1_16_C(int dst_width,\n                               int
      boxheight,\n                               int x,\n                               int
      dx,\n                               const uint32_t* src_ptr,\n                               uint16_t*
      dst_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:163,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:165,1
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:168,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:186,1
    - Dst: memset
      Src: /src/libavif/third_party/libyuv/source/scale.c:187,1
    - Dst: ScaleAddRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:189,1
    - Dst: ScaleAddCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:192,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 198
    functionName: ScalePlaneBox
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleAddRow
    - ScaleAddCols
    - Abs
    - MIN1
    - memset
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBox(int src_width,\n                         int src_height,\n
      \                        int dst_width,\n                         int dst_height,\n
      \                        int src_stride,\n                         int dst_stride,\n
      \                        const uint8_t* src_ptr,\n                         uint8_t*
      dst_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:215,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:217,1
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:220,1
    - Dst: TestCpuFlag
      Src: /src/libavif/third_party/libyuv/source/scale.c:230,1
    - Dst: IS_ALIGNED
      Src: /src/libavif/third_party/libyuv/source/scale.c:230,1
    - Dst: MIN1
      Src: /src/libavif/third_party/libyuv/source/scale.c:243,1
    - Dst: memset
      Src: /src/libavif/third_party/libyuv/source/scale.c:244,1
    - Dst: ScaleAddRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:246,1
    - Dst: ScaleAddCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:249,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 255
    functionName: ScalePlaneBox_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - IS_ALIGNED
    - ScaleSlope
    - TestCpuFlag
    - ScaleAddRow
    - ScaleAddCols
    - Abs
    - MIN1
    - memset
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBox_16(int src_width,\n                            int
      src_height,\n                            int dst_width,\n                            int
      dst_height,\n                            int src_stride,\n                            int
      dst_stride,\n                            const uint16_t* src_ptr,\n                            uint16_t*
      dst_ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:274,1
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:286,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:288,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:298,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:301,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:302,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 9
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: ScalePlaneBilinearDown
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleFilterCols
    - Abs
    - InterpolateRow
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBilinearDown(int src_width,\n                                  int
      src_height,\n                                  int dst_width,\n                                  int
      dst_height,\n                                  int src_stride,\n                                  int
      dst_stride,\n                                  const uint8_t* src_ptr,\n                                  uint8_t*
      dst_ptr,\n                                  enum FilterMode filtering)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:330,1
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:342,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:344,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:354,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:357,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:358,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 9
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 368
    functionName: ScalePlaneBilinearDown_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleFilterCols
    - Abs
    - InterpolateRow
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBilinearDown_16(int src_width,\n                                     int
      src_height,\n                                     int dst_width,\n                                     int
      dst_height,\n                                     int src_stride,\n                                     int
      dst_stride,\n                                     const uint16_t* src_ptr,\n
      \                                    uint16_t* dst_ptr,\n                                     enum
      FilterMode filtering)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:393,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:395,1
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:413,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:421,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:425,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:439,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:449,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:452,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:457,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 9
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 460
    functionName: ScalePlaneBilinearUp
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleFilterCols
    - Abs
    - InterpolateRow
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBilinearUp(int src_width,\n                                int
      src_height,\n                                int dst_width,\n                                int
      dst_height,\n                                int src_stride,\n                                int
      dst_stride,\n                                const uint8_t* src_ptr,\n                                uint8_t*
      dst_ptr,\n                                enum FilterMode filtering)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:483,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:486,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale.c:489,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 497
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 497
    functionName: ScalePlaneUp2_Linear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleRowUp
    - FixedDiv
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_Linear(int src_width,\n                                 int
      src_height,\n                                 int dst_width,\n                                 int
      dst_height,\n                                 int src_stride,\n                                 int
      dst_stride,\n                                 const uint8_t* src_ptr,\n                                 uint8_t*
      dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:518,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:519,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:521,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:524,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    - condition: (src_height == ((dst_height + 1) / 2))
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 533
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 533
    functionName: ScalePlaneUp2_Bilinear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - Scale2RowUp
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_Bilinear(int src_width,\n                                   int
      src_height,\n                                   int dst_width,\n                                   int
      dst_height,\n                                   int src_stride,\n                                   int
      dst_stride,\n                                   const uint8_t* src_ptr,\n                                   uint8_t*
      dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:556,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:559,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale.c:562,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: ScalePlaneUp2_12_Linear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleRowUp
    - FixedDiv
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_12_Linear(int src_width,\n                                    int
      src_height,\n                                    int dst_width,\n                                    int
      dst_height,\n                                    int src_stride,\n                                    int
      dst_stride,\n                                    const uint16_t* src_ptr,\n
      \                                   uint16_t* dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:592,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:593,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:595,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:598,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    - condition: (src_height == ((dst_height + 1) / 2))
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 605
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 605
    functionName: ScalePlaneUp2_12_Bilinear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - Scale2RowUp
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_12_Bilinear(int src_width,\n                                      int
      src_height,\n                                      int dst_width,\n                                      int
      dst_height,\n                                      int src_stride,\n                                      int
      dst_stride,\n                                      const uint16_t* src_ptr,\n
      \                                     uint16_t* dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:623,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:626,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale.c:629,1
    - Dst: ScaleRowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: ScalePlaneUp2_16_Linear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleRowUp
    - FixedDiv
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_16_Linear(int src_width,\n                                    int
      src_height,\n                                    int dst_width,\n                                    int
      dst_height,\n                                    int src_stride,\n                                    int
      dst_stride,\n                                    const uint16_t* src_ptr,\n
      \                                   uint16_t* dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:654,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale.c:655,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:657,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:660,1
    - Dst: Scale2RowUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts:
    - condition: (src_width == ((dst_width + 1) / 2))
      pos:
        line_end: 653
        line_start: 653
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    - condition: (src_height == ((dst_height + 1) / 2))
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/libavif/third_party/libyuv/source/scale.c
    constantsTouched: []
    func_position:
      end: 667
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 667
    functionName: ScalePlaneUp2_16_Bilinear
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - Scale2RowUp
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneUp2_16_Bilinear(int src_width,\n                                      int
      src_height,\n                                      int dst_width,\n                                      int
      dst_height,\n                                      int src_stride,\n                                      int
      dst_stride,\n                                      const uint16_t* src_ptr,\n
      \                                     uint16_t* dst_ptr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:691,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:693,1
    - Dst: align_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:710,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:717,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:721,1
    - Dst: ScaleFilterCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:735,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:745,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale.c:748,1
    - Dst: free_aligned_buffer_64
      Src: /src/libavif/third_party/libyuv/source/scale.c:753,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 9
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 756
    functionName: ScalePlaneBilinearUp_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleFilterCols
    - Abs
    - InterpolateRow
    - align_buffer_64
    - free_aligned_buffer_64
    linkageType: ''
    returnType: int
    signature: "int ScalePlaneBilinearUp_16(int src_width,\n                                   int
      src_height,\n                                   int dst_width,\n                                   int
      dst_height,\n                                   int src_stride,\n                                   int
      dst_stride,\n                                   const uint16_t* src_ptr,\n                                   uint16_t*
      dst_ptr,\n                                   enum FilterMode filtering)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:779,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:781,1
    - Dst: ScaleCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 793
    functionName: ScalePlaneSimple
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleCols
    - Abs
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneSimple(int src_width,\n                             int
      src_height,\n                             int dst_width,\n                             int
      dst_height,\n                             int src_stride,\n                             int
      dst_stride,\n                             const uint8_t* src_ptr,\n                             uint8_t*
      dst_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ScaleSlope
      Src: /src/libavif/third_party/libyuv/source/scale.c:811,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale.c:813,1
    - Dst: ScaleCols
      Src: /src/libavif/third_party/libyuv/source/scale.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_ptr
    - dst_ptr
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 825
    functionName: ScalePlaneSimple_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 0
    functionsReached:
    - ScaleSlope
    - ScaleCols
    - Abs
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneSimple_16(int src_width,\n                                int
      src_height,\n                                int dst_width,\n                                int
      dst_height,\n                                int src_stride,\n                                int
      dst_stride,\n                                const uint16_t* src_ptr,\n                                uint16_t*
      dst_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ScaleFilterReduce
      Src: /src/libavif/third_party/libyuv/source/scale.c:839,1
    - Dst: CopyPlane
      Src: /src/libavif/third_party/libyuv/source/scale.c:852,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale.c:861,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale.c:862,1
    - Dst: FixedDiv1
      Src: /src/libavif/third_party/libyuv/source/scale.c:864,1
    - Dst: ScalePlaneVertical
      Src: /src/libavif/third_party/libyuv/source/scale.c:867,1
    - Dst: ScalePlaneBox
      Src: /src/libavif/third_party/libyuv/source/scale.c:872,1
    - Dst: ScalePlaneUp2_Linear
      Src: /src/libavif/third_party/libyuv/source/scale.c:876,1
    - Dst: ScalePlaneUp2_Bilinear
      Src: /src/libavif/third_party/libyuv/source/scale.c:882,1
    - Dst: ScalePlaneBilinearUp
      Src: /src/libavif/third_party/libyuv/source/scale.c:887,1
    - Dst: ScalePlaneBilinearDown
      Src: /src/libavif/third_party/libyuv/source/scale.c:891,1
    - Dst: ScalePlaneSimple
      Src: /src/libavif/third_party/libyuv/source/scale.c:894,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 9
    argNames:
    - src
    - src_stride
    - src_width
    - src_height
    - dst
    - dst_stride
    - dst_width
    - dst_height
    - filtering
    argTypes:
    - uint8_t*
    - int
    - int
    - int
    - uint8_t*
    - int
    - int
    - int
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 897
    functionName: ScalePlane
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 1
    functionsReached:
    - ScalePlaneBilinearUp
    - FixedDiv
    - CopyPlane
    - ScalePlaneBilinearDown
    - ScalePlaneSimple
    - ScalePlaneBox
    - ScalePlaneUp2_Bilinear
    - FixedDiv1
    - ScalePlaneUp2_Linear
    - ScalePlaneVertical
    - ScaleFilterReduce
    - CENTERSTART
    linkageType: ''
    returnType: int
    signature: "int ScalePlane(const uint8_t* src,\n               int src_stride,\n
      \              int src_width,\n               int src_height,\n               uint8_t*
      dst,\n               int dst_stride,\n               int dst_width,\n               int
      dst_height,\n               enum FilterMode filtering)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ScaleFilterReduce
      Src: /src/libavif/third_party/libyuv/source/scale.c:909,1
    - Dst: CopyPlane_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:922,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale.c:931,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale.c:932,1
    - Dst: FixedDiv1
      Src: /src/libavif/third_party/libyuv/source/scale.c:937,1
    - Dst: ScalePlaneVertical_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:940,1
    - Dst: ScalePlaneBox_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:945,1
    - Dst: ScalePlaneUp2_16_Linear
      Src: /src/libavif/third_party/libyuv/source/scale.c:949,1
    - Dst: ScalePlaneUp2_16_Bilinear
      Src: /src/libavif/third_party/libyuv/source/scale.c:955,1
    - Dst: ScalePlaneBilinearUp_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:960,1
    - Dst: ScalePlaneBilinearDown_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:964,1
    - Dst: ScalePlaneSimple_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:968,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 9
    argNames:
    - src
    - src_stride
    - src_width
    - src_height
    - dst
    - dst_stride
    - dst_width
    - dst_height
    - filtering
    argTypes:
    - uint16_t*
    - int
    - int
    - int
    - uint16_t*
    - int
    - int
    - int
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 971
    functionName: ScalePlane_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 1
    functionsReached:
    - ScalePlaneBilinearDown_16
    - FixedDiv
    - ScalePlaneBilinearUp_16
    - CopyPlane_16
    - ScalePlaneUp2_16_Linear
    - ScalePlaneVertical_16
    - ScalePlaneBox_16
    - FixedDiv1
    - ScaleFilterReduce
    - ScalePlaneUp2_16_Bilinear
    - ScalePlaneSimple_16
    - CENTERSTART
    linkageType: ''
    returnType: int
    signature: "int ScalePlane_16(const uint16_t* src,\n                  int src_stride,\n
      \                 int src_width,\n                  int src_height,\n                  uint16_t*
      dst,\n                  int dst_stride,\n                  int dst_width,\n
      \                 int dst_height,\n                  enum FilterMode filtering)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ScaleFilterReduce
      Src: /src/libavif/third_party/libyuv/source/scale.c:983,1
    - Dst: ScalePlaneUp2_12_Linear
      Src: /src/libavif/third_party/libyuv/source/scale.c:994,1
    - Dst: ScalePlaneUp2_12_Bilinear
      Src: /src/libavif/third_party/libyuv/source/scale.c:1000,1
    - Dst: ScalePlane_16
      Src: /src/libavif/third_party/libyuv/source/scale.c:1005,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 9
    argNames:
    - src
    - src_stride
    - src_width
    - src_height
    - dst
    - dst_stride
    - dst_width
    - dst_height
    - filtering
    argTypes:
    - uint16_t*
    - int
    - int
    - int
    - uint16_t*
    - int
    - int
    - int
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1007
    functionName: ScalePlane_12
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale.c
    functionUses: 1
    functionsReached:
    - ScalePlaneUp2_12_Bilinear
    - ScaleFilterReduce
    - ScalePlaneUp2_12_Linear
    - ScalePlane_16
    linkageType: ''
    returnType: int
    signature: "int ScalePlane_12(const uint16_t* src,\n                  int src_stride,\n
      \                 int src_width,\n                  int src_height,\n                  uint16_t*
      dst,\n                  int dst_stride,\n                  int dst_width,\n
      \                 int dst_height,\n                  enum FilterMode filtering)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: STATIC_CAST
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_CAST(type, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libavif/third_party/libyuv/source/row_common.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - count
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: CopyRow_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CopyRow_C(const uint8_t* src, uint8_t* dst, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - src_uv
    - src_uv_stride
    - dst_uv
    - width
    argTypes:
    - uint8_t*
    - ptrdiff_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: HalfRow_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HalfRow_C(const uint8_t* src_uv,\n                      ptrdiff_t
      src_uv_stride,\n                      uint8_t* dst_uv,\n                      int
      width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - src_uv
    - src_uv_stride
    - dst_uv
    - width
    argTypes:
    - uint16_t*
    - ptrdiff_t
    - uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: HalfRow_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HalfRow_16_C(const uint16_t* src_uv,\n                         ptrdiff_t
      src_uv_stride,\n                         uint16_t* dst_uv,\n                         int
      width)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/row_common.c:55,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/row_common.c:56,1
    - Dst: memcpy
      Src: /src/libavif/third_party/libyuv/source/row_common.c:59,1
    - Dst: HalfRow_C
      Src: /src/libavif/third_party/libyuv/source/row_common.c:63,1
    - Dst: STATIC_CAST
      Src: /src/libavif/third_party/libyuv/source/row_common.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - src_stride
    - width
    - source_y_fraction
    argTypes:
    - uint8_t*
    - uint8_t*
    - ptrdiff_t
    - int
    - int
    assertStmts:
    - condition: (source_y_fraction >= 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libavif/third_party/libyuv/source/row_common.c
    - condition: (source_y_fraction < 256)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/libavif/third_party/libyuv/source/row_common.c
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: InterpolateRow_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached:
    - HalfRow_C
    - memcpy
    - STATIC_CAST
    - assert
    linkageType: ''
    returnType: void
    signature: "void InterpolateRow_C(uint8_t* dst_ptr,\n                      const
      uint8_t* src_ptr,\n                      ptrdiff_t src_stride,\n                      int
      width,\n                      int source_y_fraction)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/row_common.c:86,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/row_common.c:87,1
    - Dst: memcpy
      Src: /src/libavif/third_party/libyuv/source/row_common.c:90,1
    - Dst: HalfRow_16_C
      Src: /src/libavif/third_party/libyuv/source/row_common.c:94,1
    - Dst: STATIC_CAST
      Src: /src/libavif/third_party/libyuv/source/row_common.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - src_stride
    - width
    - source_y_fraction
    argTypes:
    - uint16_t*
    - uint16_t*
    - ptrdiff_t
    - int
    - int
    assertStmts:
    - condition: (source_y_fraction >= 0)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/libavif/third_party/libyuv/source/row_common.c
    - condition: (source_y_fraction < 256)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/libavif/third_party/libyuv/source/row_common.c
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: InterpolateRow_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/row_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    - STATIC_CAST
    - HalfRow_16_C
    - assert
    linkageType: ''
    returnType: void
    signature: "void InterpolateRow_16_C(uint16_t* dst_ptr,\n                         const
      uint16_t* src_ptr,\n                         ptrdiff_t src_stride,\n                         int
      width,\n                         int source_y_fraction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - SIMD
    - ','
    - C
    - ','
    - MASK
    - ','
    - PTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: SUH2LANY
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUH2LANY(NAME, SIMD, C, MASK, PTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Abs
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Abs(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src_ptr
    - dst_ptr
    - dst_width
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    assertStmts:
    - condition: ((dst_width % 2 == 0) && (dst_width >= 0))
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: ScaleRowUp2_Linear_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleRowUp2_Linear_C(const uint8_t* src_ptr,\n                          uint8_t*
      dst_ptr,\n                          int dst_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - src_ptr
    - src_stride
    - dst_ptr
    - dst_stride
    - dst_width
    argTypes:
    - uint8_t*
    - ptrdiff_t
    - uint8_t*
    - ptrdiff_t
    - int
    assertStmts:
    - condition: ((dst_width % 2 == 0) && (dst_width >= 0))
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: ScaleRowUp2_Bilinear_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleRowUp2_Bilinear_C(const uint8_t* src_ptr,\n                            ptrdiff_t
      src_stride,\n                            uint8_t* dst_ptr,\n                            ptrdiff_t
      dst_stride,\n                            int dst_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src_ptr
    - dst_ptr
    - dst_width
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    assertStmts:
    - condition: ((dst_width % 2 == 0) && (dst_width >= 0))
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: ScaleRowUp2_Linear_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleRowUp2_Linear_16_C(const uint16_t* src_ptr,\n                             uint16_t*
      dst_ptr,\n                             int dst_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - src_ptr
    - src_stride
    - dst_ptr
    - dst_stride
    - dst_width
    argTypes:
    - uint16_t*
    - ptrdiff_t
    - uint16_t*
    - ptrdiff_t
    - int
    assertStmts:
    - condition: ((dst_width % 2 == 0) && (dst_width >= 0))
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: ScaleRowUp2_Bilinear_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleRowUp2_Bilinear_16_C(const uint16_t* src_ptr,\n                               ptrdiff_t
      src_stride,\n                               uint16_t* dst_ptr,\n                               ptrdiff_t
      dst_stride,\n                               int dst_width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: ScaleCols_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScaleCols_C(uint8_t* dst_ptr,\n                 const uint8_t*
      src_ptr,\n                 int dst_width,\n                 int x,\n                 int
      dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: ScaleCols_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScaleCols_16_C(uint16_t* dst_ptr,\n                    const
      uint16_t* src_ptr,\n                    int dst_width,\n                    int
      x,\n                    int dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: ScaleColsUp2_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScaleColsUp2_C(uint8_t* dst_ptr,\n                    const uint8_t*
      src_ptr,\n                    int dst_width,\n                    int x,\n                    int
      dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: ScaleColsUp2_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScaleColsUp2_16_C(uint16_t* dst_ptr,\n                       const
      uint16_t* src_ptr,\n                       int dst_width,\n                       int
      x,\n                       int dx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: BLENDER
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLENDER(a, b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: BLENDER
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLENDER(a, b, f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:207,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:212,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 222
    functionName: ScaleFilterCols_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - BLENDER
    linkageType: ''
    returnType: void
    signature: "void ScaleFilterCols_C(uint8_t* dst_ptr,\n                       const
      uint8_t* src_ptr,\n                       int dst_width,\n                       int
      x,\n                       int dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:235,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:240,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x32
    - dx
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionName: ScaleFilterCols64_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - BLENDER
    linkageType: ''
    returnType: void
    signature: "void ScaleFilterCols64_C(uint8_t* dst_ptr,\n                         const
      uint8_t* src_ptr,\n                         int dst_width,\n                         int
      x32,\n                         int dx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: BLENDER
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLENDER(a, b, f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:269,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:274,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x
    - dx
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 284
    functionName: ScaleFilterCols_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - BLENDER
    linkageType: ''
    returnType: void
    signature: "void ScaleFilterCols_16_C(uint16_t* dst_ptr,\n                          const
      uint16_t* src_ptr,\n                          int dst_width,\n                          int
      x,\n                          int dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:297,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:302,1
    - Dst: BLENDER
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - dst_ptr
    - src_ptr
    - dst_width
    - x32
    - dx
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: ScaleFilterCols64_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - BLENDER
    linkageType: ''
    returnType: void
    signature: "void ScaleFilterCols64_16_C(uint16_t* dst_ptr,\n                            const
      uint16_t* src_ptr,\n                            int dst_width,\n                            int
      x32,\n                            int dx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src_ptr
    - dst_ptr
    - src_width
    argTypes:
    - uint8_t*
    - uint16_t*
    - int
    assertStmts:
    - condition: (src_width > 0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: ScaleAddRow_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ScaleAddRow_C(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src_ptr
    - dst_ptr
    - src_width
    argTypes:
    - uint16_t*
    - uint32_t*
    - int
    assertStmts:
    - condition: (src_width > 0)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: ScaleAddRow_16_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScaleAddRow_16_C(const uint16_t* src_ptr,\n                      uint32_t*
      dst_ptr,\n                      int src_width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:367,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:368,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:369,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:370,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 12
    argNames:
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_argb
    - dst_argb
    - x
    - y
    - dy
    - bpp
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    - int
    - enum FilterMode
    assertStmts:
    - condition: (bpp >= 1 && bpp <= 4)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_width > 0)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (src_height != 0)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_height > 0)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 386
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 386
    functionName: ScalePlaneVertical
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 1
    functionsReached:
    - InterpolateRow
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneVertical(int src_height,\n                        int
      dst_width,\n                        int dst_height,\n                        int
      src_stride,\n                        int dst_stride,\n                        const
      uint8_t* src_argb,\n                        uint8_t* dst_argb,\n                        int
      x,\n                        int y,\n                        int dy,\n                        int
      bpp,  // bytes per pixel. 4 for ARGB.\n                        enum FilterMode
      filtering)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:407,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:408,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:409,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:410,1
    - Dst: InterpolateRow
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 12
    argNames:
    - src_height
    - dst_width
    - dst_height
    - src_stride
    - dst_stride
    - src_argb
    - dst_argb
    - x
    - y
    - dy
    - wpp
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - int
    - enum FilterMode
    assertStmts:
    - condition: (wpp >= 1 && wpp <= 2)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_height > 0)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (src_height != 0)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_width > 0)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 425
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 425
    functionName: ScalePlaneVertical_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 1
    functionsReached:
    - InterpolateRow
    - assert
    linkageType: ''
    returnType: void
    signature: "void ScalePlaneVertical_16(int src_height,\n                           int
      dst_width,\n                           int dst_height,\n                           int
      src_stride,\n                           int dst_stride,\n                           const
      uint16_t* src_argb,\n                           uint16_t* dst_argb,\n                           int
      x,\n                           int y,\n                           int dy,\n
      \                          int wpp, /* words per pixel. normally 1 */\n                           enum
      FilterMode filtering)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - filtering
    argTypes:
    - int
    - int
    - int
    - int
    - enum FilterMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 469
    functionName: ScaleFilterReduce
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum FilterMode
    signature: "enum FilterMode ScaleFilterReduce(int src_width,\n                                  int
      src_height,\n                                  int dst_width,\n                                  int
      dst_height,\n                                  enum FilterMode filtering)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - div
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: FixedDiv_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FixedDiv_C(int num, int div)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - div
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: FixedDiv1_C
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FixedDiv1_C(int num, int div)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dx
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: CENTERSTART
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CENTERSTART(dx, s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:493,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:494,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:495,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:496,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:497,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:498,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:499,1
    - Dst: assert
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:500,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:510,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:510,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:511,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:516,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:517,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:517,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:518,1
    - Dst: FixedDiv1
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:520,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:520,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:524,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:525,1
    - Dst: FixedDiv1
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:527,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:532,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:533,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:533,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:534,1
    - Dst: FixedDiv1
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:536,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:536,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:539,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:543,1
    - Dst: Abs
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:543,1
    - Dst: FixedDiv
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:544,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:545,1
    - Dst: CENTERSTART
      Src: /src/libavif/third_party/libyuv/source/scale_common.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 9
    argNames:
    - src_width
    - src_height
    - dst_width
    - dst_height
    - filtering
    - x
    - y
    - dx
    - dy
    argTypes:
    - int
    - int
    - int
    - int
    - enum FilterMode
    - int*
    - int*
    - int*
    - int*
    assertStmts:
    - condition: (y != NULL)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dy != NULL)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_height > 0)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (src_width != 0)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dx != NULL)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (src_height != 0)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (x != NULL)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    - condition: (dst_width > 0)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/libavif/third_party/libyuv/source/scale_common.c
    constantsTouched: []
    func_position:
      end: 554
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 554
    functionName: ScaleSlope
    functionSourceFile: /src/libavif/third_party/libyuv/source/scale_common.c
    functionUses: 8
    functionsReached:
    - FixedDiv
    - Abs
    - assert
    - FixedDiv1
    - CENTERSTART
    linkageType: ''
    returnType: void
    signature: "void ScaleSlope(int src_width,\n                int src_height,\n
      \               int dst_width,\n                int dst_height,\n                enum
      FilterMode filtering,\n                int* x,\n                int* y,\n                int*
      dx,\n                int* dy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CopyRow
      Src: /src/libavif/third_party/libyuv/source/planar_functions.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - src_y
    - src_stride_y
    - dst_y
    - dst_stride_y
    - width
    - height
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 54
    functionName: CopyPlane
    functionSourceFile: /src/libavif/third_party/libyuv/source/planar_functions.c
    functionUses: 1
    functionsReached:
    - CopyRow
    linkageType: ''
    returnType: void
    signature: "void CopyPlane(const uint8_t* src_y,\n               int src_stride_y,\n
      \              uint8_t* dst_y,\n               int dst_stride_y,\n               int
      width,\n               int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyPlane
      Src: /src/libavif/third_party/libyuv/source/planar_functions.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - src_y
    - src_stride_y
    - dst_y
    - dst_stride_y
    - width
    - height
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CopyPlane_16
    functionSourceFile: /src/libavif/third_party/libyuv/source/planar_functions.c
    functionUses: 1
    functionsReached:
    - CopyPlane
    linkageType: ''
    returnType: void
    signature: "void CopyPlane_16(const uint16_t* src_y,\n                  int src_stride_y,\n
      \                 uint16_t* dst_y,\n                  int dst_stride_y,\n                  int
      width,\n                  int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: align_buffer_64
    functionSourceFile: /src/libavif/third_party/libyuv/include/libyuv/row.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: align_buffer_64(var, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: free_aligned_buffer_64
    functionSourceFile: /src/libavif/third_party/libyuv/include/libyuv/row.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free_aligned_buffer_64(var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_write_m_header
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:73,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:80,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:81,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:82,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:83,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:84,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:85,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:86,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:87,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:88,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:89,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:90,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:91,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:94,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:95,1
    - Dst: jpeg_write_m_byte
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - cinfo
    - icc_data_ptr
    - icc_data_len
    argTypes:
    - j_compress_ptr
    - JOCTET*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 104
    functionName: write_icc_profile
    functionSourceFile: /src/libavif/third_party/iccjpeg/iccjpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_write_m_byte
    - jpeg_write_m_header
    linkageType: ''
    returnType: void
    signature: "void write_icc_profile (j_compress_ptr cinfo,\n\t\t   const JOCTET
      *icc_data_ptr,\n\t\t   unsigned int icc_data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_save_markers
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: setup_read_icc_profile
    functionSourceFile: /src/libavif/third_party/iccjpeg/iccjpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_save_markers
    linkageType: ''
    returnType: void
    signature: void setup_read_icc_profile (j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:130,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:131,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:132,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:133,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:134,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:135,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:136,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:137,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:138,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:139,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:140,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - marker
    argTypes:
    - jpeg_saved_marker_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: marker_is_icc
    functionSourceFile: /src/libavif/third_party/iccjpeg/iccjpeg.c
    functionUses: 0
    functionsReached:
    - GETJOCTET
    linkageType: ''
    returnType: boolean
    signature: boolean marker_is_icc (jpeg_saved_marker_ptr marker)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: marker_is_icc
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:190,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:192,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:193,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:195,1
    - Dst: malloc
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:224,1
    - Dst: marker_is_icc
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:230,1
    - Dst: GETJOCTET
      Src: /src/libavif/third_party/iccjpeg/iccjpeg.c:234,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - cinfo
    - icc_data_ptr
    - icc_data_len
    argTypes:
    - j_decompress_ptr
    - JOCTET**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 248
    functionName: read_icc_profile
    functionSourceFile: /src/libavif/third_party/iccjpeg/iccjpeg.c
    functionUses: 1
    functionsReached:
    - malloc
    - marker_is_icc
    - GETJOCTET
    linkageType: ''
    returnType: boolean
    signature: "boolean read_icc_profile (j_decompress_ptr cinfo,\n\t\t  JOCTET **icc_data_ptr,\n\t\t
      \ unsigned int *icc_data_len)"
Fuzzer filename: empty-file.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- android/bitmap.h
- cassert
- convert_command.h
- swapbase_command.h
- cmath
- time.h
- libxml/parser.h
- algorithm
- stdarg.h
- cstdlib
- new
- memory
- sharpyuv/sharpyuv_csp.h
- avif/avif_cxx.h
- avifjpeg.h
- windows.h
- avif/internal.h
- avm/avm_encoder.h
- avifpng.h
- avm/avm_codec.h
- svt-av1/EbSvtAv1.h
- process.h
- gav1/decoder.h
- ostream
- map
- limits.h
- avm/avm_decoder.h
- aom/aom_encoder.h
- aom/aomcx.h
- libyuv/scale_row.h
- gdk-pixbuf/gdk-pixbuf-io.h
- aom/aomdx.h
- stddef.h
- filesystem
- crtdbg.h
- math.h
- libyuv.h
- avif_fuzztest_helpers.h
- avifexif.h
- io.h
- iccmaker.h
- libyuv/version.h
- setjmp.h
- dav1d/dav1d.h
- fstream
- avifincrtest_helpers.h
- aviftest_helpers.h
- rav1e.h
- avm/avmdx.h
- avif/avif.h
- printmetadata_command.h
- aom/aom_decoder.h
- pthread.h
- vector
- cpu-features.h
- fcntl.h
- argparse.hpp
- sys/sysctl.h
- libyuv/row.h
- iostream
- box_reader_impl.h
- svt-av1/EbSvtAv1Enc.h
- png.h
- cstring
- sys/types.h
- numeric
- gtest/gtest.h
- utility
- sstream
- stdio.h
- y4m.h
- extractgainmap_command.h
- stdint.h
- tonemap_command.h
- stdlib.h
- iccjpeg.h
- combine_command.h
- config/avm_config.h
- inttypes.h
- stdbool.h
- limits
- string.h
- gdk-pixbuf/gdk-pixbuf.h
- unistd.h
- iomanip
- libyuv/basic_types.h
- av2/common/enums.h
- tuple
- ctype.h
- jpeglib.h
- jni.h
- libyuv/planar_functions.h
- fuzztest/fuzztest.h
- type_traits
- cstddef
- sharpyuv/sharpyuv.h
- cstdint
- assert.h
- libyuv/scale.h
- string
- android/log.h
- array
- imageio.h
- avifutil.h
- float.h
- program_command.h
- spec.h
- cstdio
- dirent.h
- avm/avmcx.h
report: name
sources:
- function_names:
  - NEXTARG
  - rgbFormatToString
  - main
  source_file: /src/libavif/tests/avifyuv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DRIFT
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libavif/tests/avifyuv.c
      type_or_value: '5'
    structs:
    - fields:
      - name: cp
        type: avifColorPrimaries
      - name: tc
        type: avifTransferCharacteristics
      - name: mc
        type: avifMatrixCoefficients
      item_type: struct
      name: avifCICP
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/libavif/tests/avifyuv.c
    typedefs: []
    union: []
- function_names:
  - nextFilename
  - nextFilename
  - avifIOTestReaderRead
  - avifIOTestReaderDestroy
  - avifIOCreateTestReader
  - runIOTests
  - syntax
  - main
  source_file: /src/libavif/tests/aviftest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILENAME_MAX_LENGTH
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libavif/tests/aviftest.c
      type_or_value: '2047'
    structs:
    - fields:
      - name: didFirstFile
        type: int
      - name: handle
        type: HANDLE
      - name: wfd
        type: WIN32_FIND_DATA
      item_type: struct
      name: NextFilenameData
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/libavif/tests/aviftest.c
    - fields:
      - name: '* dir'
        type: DIR
      item_type: struct
      name: NextFilenameData
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/libavif/tests/aviftest.c
    - fields:
      - name: io
        type: avifIO
      - name: rodata
        type: avifROData
      - name: availableBytes
        type: size_t
      item_type: struct
      name: avifIOTestReader
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/libavif/tests/aviftest.c
    typedefs: []
    union: []
- function_names:
  - avif::ModifyImageChannel
  - avif::ModifyImageChannel
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetPsnr
  - avif::ConvertWholeRange
  - avif::ConvertWholeBuffer
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST_P
  - avif::ModifyImageChannel
  - avif::ModifyImageChannel
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetPsnr
  - avif::ConvertWholeRange
  - avif::ConvertWholeBuffer
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST_P
  - avif::ModifyImageChannel
  - avif::ModifyImageChannel
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetPsnr
  - avif::ConvertWholeRange
  - avif::ConvertWholeBuffer
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST_P
  - avif::ModifyImageChannel
  - avif::ModifyImageChannel
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetDiffSumAndSqDiffSum
  - avif::GetPsnr
  - avif::ConvertWholeRange
  - avif::ConvertWholeBuffer
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifrgbtoyuvtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::EncodeDecodeGrid
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeDecodeGrid
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeDecodeGrid
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeDecodeGrid
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifgridapitest.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: width
        type: int
      item_type: struct
      name: Cell
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    - fields:
      - name: width
        type: int
      item_type: struct
      name: Cell
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    - fields:
      - name: width
        type: int
      item_type: struct
      name: Cell
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    - fields:
      - name: width
        type: int
      item_type: struct
      name: Cell
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifgridapitest.cc
    typedefs: []
    union: []
- function_names:
  - avif::ReadImageLosslessBitDepth
  - avif::GetSampleValueSpread
  - avif::TEST
  - avif::ReadImageLosslessBitDepth
  - avif::GetSampleValueSpread
  - avif::TEST
  - avif::ReadImageLosslessBitDepth
  - avif::GetSampleValueSpread
  - avif::TEST
  - avif::ReadImageLosslessBitDepth
  - avif::GetSampleValueSpread
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifpng16bittest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifBreakOnError
  - AVIF_CHECK
  - AVIF_CHECKERR
  - AVIF_CHECKRES
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::AvifRwData::AvifRwData
  - ~AvifRwData()
  - ~AvifRgbImage()
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::AvifRwData::AvifRwData
  - ~AvifRwData()
  - ~AvifRgbImage()
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::AvifRwData::AvifRwData
  - ~AvifRwData()
  - ~AvifRgbImage()
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::AvifRwData::AvifRwData
  - ~AvifRwData()
  - ~AvifRgbImage()
  source_file: /src/libavif/tests/gtest/aviftest_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: r
        type: uint8_t
      item_type: struct
      name: RgbChannelOffsets
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: kNoClamp
        type: uint64_t
      - name: io
        type: avifIO
      - name: '* underlyingIO'
        type: avifIO
      - name: clamp
        type: uint64_t
      item_type: struct
      name: AvifIOLimitedReader
      pos:
        line_end: 206
        line_start: 200
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: r
        type: uint8_t
      item_type: struct
      name: RgbChannelOffsets
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: kNoClamp
        type: uint64_t
      - name: io
        type: avifIO
      - name: '* underlyingIO'
        type: avifIO
      - name: clamp
        type: uint64_t
      item_type: struct
      name: AvifIOLimitedReader
      pos:
        line_end: 206
        line_start: 200
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: r
        type: uint8_t
      item_type: struct
      name: RgbChannelOffsets
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: kNoClamp
        type: uint64_t
      - name: io
        type: avifIO
      - name: '* underlyingIO'
        type: avifIO
      - name: clamp
        type: uint64_t
      item_type: struct
      name: AvifIOLimitedReader
      pos:
        line_end: 206
        line_start: 200
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: r
        type: uint8_t
      item_type: struct
      name: RgbChannelOffsets
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    - fields:
      - name: kNoClamp
        type: uint64_t
      - name: io
        type: avifIO
      - name: '* underlyingIO'
        type: avifIO
      - name: clamp
        type: uint64_t
      item_type: struct
      name: AvifIOLimitedReader
      pos:
        line_end: 206
        line_start: 200
        source_file: /src/libavif/tests/gtest/aviftest_helpers.h
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::IsValidAvifImageCreate
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::IsValidAvifImageCreate
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::IsValidAvifImageCreate
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::IsValidAvifImageCreate
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifimagetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_P
  - TEST_P
  - TEST_P
  - TEST_P
  source_file: /src/libavif/tests/gtest/avifclaptest.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: yuv_format
        type: avifPixelFormat
      - name: clap
        type: avifCleanApertureBox
      item_type: struct
      name: InvalidClapPropertyParam
      pos:
        line_end: 13
        line_start: 8
        source_file: /src/libavif/tests/gtest/avifclaptest.cc
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: yuv_format
        type: avifPixelFormat
      - name: clap
        type: avifCleanApertureBox
      - name: expected_crop_rect
        type: avifCropRect
      - name: expected_upsample_before_cropping
        type: bool
      item_type: struct
      name: ValidClapPropertyParam
      pos:
        line_end: 101
        line_start: 93
        source_file: /src/libavif/tests/gtest/avifclaptest.cc
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: yuv_format
        type: avifPixelFormat
      - name: clap
        type: avifCleanApertureBox
      item_type: struct
      name: InvalidClapPropertyParam
      pos:
        line_end: 13
        line_start: 8
        source_file: /src/libavif/tests/gtest/avifclaptest.cc
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: yuv_format
        type: avifPixelFormat
      - name: clap
        type: avifCleanApertureBox
      - name: expected_crop_rect
        type: avifCropRect
      - name: expected_upsample_before_cropping
        type: bool
      item_type: struct
      name: ValidClapPropertyParam
      pos:
        line_end: 101
        line_start: 93
        source_file: /src/libavif/tests/gtest/avifclaptest.cc
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifavmminitest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifcodectest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage8b
  - avif::testutil::CreateAvifImage16b
  - avif::testutil::CreateAvifAnim8b
  - avif::testutil::CreateAvifAnim16b
  - avif::testutil::CreateAvifEncoder
  - avif::testutil::CreateAvifDecoder
  - avif::testutil::AvifImageToUniquePtr
  - avif::testutil::AddGainMapOptionsToDecoder
  - avif::testutil::AddGainMapToImage
  - avif::testutil::GetNumSamples
  - avif::testutil::GetSeedDataDirs
  - avif::testutil::GetTestImagesContents
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage8b
  - avif::testutil::CreateAvifImage16b
  - avif::testutil::CreateAvifAnim8b
  - avif::testutil::CreateAvifAnim16b
  - avif::testutil::CreateAvifEncoder
  - avif::testutil::CreateAvifDecoder
  - avif::testutil::AvifImageToUniquePtr
  - avif::testutil::AddGainMapOptionsToDecoder
  - avif::testutil::AddGainMapToImage
  - avif::testutil::GetNumSamples
  - avif::testutil::GetSeedDataDirs
  - avif::testutil::GetTestImagesContents
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage8b
  - avif::testutil::CreateAvifImage16b
  - avif::testutil::CreateAvifAnim8b
  - avif::testutil::CreateAvifAnim16b
  - avif::testutil::CreateAvifEncoder
  - avif::testutil::CreateAvifDecoder
  - avif::testutil::AvifImageToUniquePtr
  - avif::testutil::AddGainMapOptionsToDecoder
  - avif::testutil::AddGainMapToImage
  - avif::testutil::GetNumSamples
  - avif::testutil::GetSeedDataDirs
  - avif::testutil::GetTestImagesContents
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage
  - avif::testutil::CreateAvifImage8b
  - avif::testutil::CreateAvifImage16b
  - avif::testutil::CreateAvifAnim8b
  - avif::testutil::CreateAvifAnim16b
  - avif::testutil::CreateAvifEncoder
  - avif::testutil::CreateAvifDecoder
  - avif::testutil::AvifImageToUniquePtr
  - avif::testutil::AddGainMapOptionsToDecoder
  - avif::testutil::AddGainMapToImage
  - avif::testutil::GetNumSamples
  - avif::testutil::GetSeedDataDirs
  - avif::testutil::GetTestImagesContents
  source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifcllitest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifencodetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::AreSamplesEqualForAllReadSettings
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::avifReadImageForRGB2Gray2RGB
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::AreSamplesEqualForAllReadSettings
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::avifReadImageForRGB2Gray2RGB
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::AreSamplesEqualForAllReadSettings
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::avifReadImageForRGB2Gray2RGB
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::AreSamplesEqualForAllReadSettings
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::avifReadImageForRGB2Gray2RGB
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifreadimagetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  - avif::testutil::Convert
  source_file: /src/libavif/tests/gtest/avif_fuzztest_yuvrgb.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifalphanoispetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifdimgtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::CopyImageSamples
  - avif::testutil::CopyImageSamples
  - avif::testutil::AvifRgbImage::AvifRgbImage
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::GetRgbChannelOffsets
  - avif::testutil::CreateImage
  - avif::testutil::FillImagePlain
  - avif::testutil::FillImageGradient
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::AreImagesEqual
  - avif::testutil::AreImagesSimilar
  - avif::testutil::SquaredDiffSum
  - avif::testutil::SquaredDiffSum
  - avif::testutil::GetPsnr
  - avif::testutil::AreImagesEqual
  - avif::testutil::MergeGrid
  - avif::testutil::MergeGrid
  - avif::testutil::ReadFile
  - avif::testutil::ReadImage
  - avif::testutil::WriteImage
  - avif::testutil::Encode
  - avif::testutil::Decode
  - avif::testutil::DecodeFile
  - avif::testutil::Av1EncoderAvailable
  - avif::testutil::Av1DecoderAvailable
  - avif::testutil::avifIOLimitedReaderRead
  - avif::testutil::avifIOLimitedReaderDestroy
  - avif::testutil::AvifIOCreateLimitedReader
  - avif::testutil::ImageToGrid
  - avif::testutil::UniquePtrToRawPtr
  - avif::testutil::CopyImageSamples
  - avif::testutil::CopyImageSamples
  - avif::testutil::AvifRgbImage::AvifRgbImage
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::GetRgbChannelOffsets
  - avif::testutil::CreateImage
  - avif::testutil::FillImagePlain
  - avif::testutil::FillImageGradient
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::AreImagesEqual
  - avif::testutil::AreImagesSimilar
  - avif::testutil::SquaredDiffSum
  - avif::testutil::SquaredDiffSum
  - avif::testutil::GetPsnr
  - avif::testutil::AreImagesEqual
  - avif::testutil::MergeGrid
  - avif::testutil::MergeGrid
  - avif::testutil::ReadFile
  - avif::testutil::ReadImage
  - avif::testutil::WriteImage
  - avif::testutil::Encode
  - avif::testutil::Decode
  - avif::testutil::DecodeFile
  - avif::testutil::Av1EncoderAvailable
  - avif::testutil::Av1DecoderAvailable
  - avif::testutil::avifIOLimitedReaderRead
  - avif::testutil::avifIOLimitedReaderDestroy
  - avif::testutil::AvifIOCreateLimitedReader
  - avif::testutil::ImageToGrid
  - avif::testutil::UniquePtrToRawPtr
  - avif::testutil::CopyImageSamples
  - avif::testutil::CopyImageSamples
  - avif::testutil::AvifRgbImage::AvifRgbImage
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::GetRgbChannelOffsets
  - avif::testutil::CreateImage
  - avif::testutil::FillImagePlain
  - avif::testutil::FillImageGradient
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::AreImagesEqual
  - avif::testutil::AreImagesSimilar
  - avif::testutil::SquaredDiffSum
  - avif::testutil::SquaredDiffSum
  - avif::testutil::GetPsnr
  - avif::testutil::AreImagesEqual
  - avif::testutil::MergeGrid
  - avif::testutil::MergeGrid
  - avif::testutil::ReadFile
  - avif::testutil::ReadImage
  - avif::testutil::WriteImage
  - avif::testutil::Encode
  - avif::testutil::Decode
  - avif::testutil::DecodeFile
  - avif::testutil::Av1EncoderAvailable
  - avif::testutil::Av1DecoderAvailable
  - avif::testutil::avifIOLimitedReaderRead
  - avif::testutil::avifIOLimitedReaderDestroy
  - avif::testutil::AvifIOCreateLimitedReader
  - avif::testutil::ImageToGrid
  - avif::testutil::UniquePtrToRawPtr
  - avif::testutil::CopyImageSamples
  - avif::testutil::CopyImageSamples
  - avif::testutil::AvifRgbImage::AvifRgbImage
  - avif::testutil::AvifRwData::AvifRwData
  - avif::testutil::GetRgbChannelOffsets
  - avif::testutil::CreateImage
  - avif::testutil::FillImagePlain
  - avif::testutil::FillImageGradient
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::FillImageChannel
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::AreByteSequencesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::MatchEachPropertyOfFirstImageInSecondImage
  - avif::testutil::AreImageFeaturesEqual
  - avif::testutil::AreImagesEqual
  - avif::testutil::AreImagesSimilar
  - avif::testutil::SquaredDiffSum
  - avif::testutil::SquaredDiffSum
  - avif::testutil::GetPsnr
  - avif::testutil::AreImagesEqual
  - avif::testutil::MergeGrid
  - avif::testutil::MergeGrid
  - avif::testutil::ReadFile
  - avif::testutil::ReadImage
  - avif::testutil::WriteImage
  - avif::testutil::Encode
  - avif::testutil::Decode
  - avif::testutil::DecodeFile
  - avif::testutil::Av1EncoderAvailable
  - avif::testutil::Av1DecoderAvailable
  - avif::testutil::avifIOLimitedReaderRead
  - avif::testutil::avifIOLimitedReaderDestroy
  - avif::testutil::AvifIOCreateLimitedReader
  - avif::testutil::ImageToGrid
  - avif::testutil::UniquePtrToRawPtr
  source_file: /src/libavif/tests/gtest/aviftest_helpers.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "& operator<<(std::ostream& os,\n                         const SetTileConfigurationTestParams&
    test)"
  - TEST
  - "& operator<<(std::ostream& os,\n                         const SetTileConfigurationTestParams&
    test)"
  - TEST
  source_file: /src/libavif/tests/gtest/aviftilingtest.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: threads
        type: int
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: expected_tile_rows_log2
        type: int
      - name: expected_tile_cols_log2
        type: int
      item_type: struct
      name: SetTileConfigurationTestParams
      pos:
        line_end: 16
        line_start: 10
        source_file: /src/libavif/tests/gtest/aviftilingtest.cc
    - fields:
      - name: threads
        type: int
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: expected_tile_rows_log2
        type: int
      - name: expected_tile_cols_log2
        type: int
      item_type: struct
      name: SetTileConfigurationTestParams
      pos:
        line_end: 16
        line_start: 10
        source_file: /src/libavif/tests/gtest/aviftilingtest.cc
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avify4mtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::ProgressiveTest::SetUp
  - avif::ProgressiveTest::TestDecode
  - avif::ProgressiveTest::TestDecode
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST
  - avif::ProgressiveTest::SetUp
  - avif::ProgressiveTest::TestDecode
  - avif::ProgressiveTest::TestDecode
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST
  - avif::ProgressiveTest::SetUp
  - avif::ProgressiveTest::TestDecode
  - avif::ProgressiveTest::TestDecode
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST
  - avif::ProgressiveTest::SetUp
  - avif::ProgressiveTest::TestDecode
  - avif::ProgressiveTest::TestDecode
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST_F
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifprogressivetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  - avif::testutil::FileFormatToString
  - avif::testutil::ReadImageFile
  source_file: /src/libavif/tests/gtest/avif_fuzztest_read_image.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifopaquetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifincrtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifanimationtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  - avif::testutil::EncodeDecode
  - avif::testutil::ArbitraryProp
  - avif::testutil::ArbitraryUUIDProp
  - avif::testutil::ArbitraryProps
  source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    - fields:
      - name: fourcc
        type: std::array<uint8_t, 4>
      - name: uuid
        type: std::array<uint8_t, 16>
      - name: body
        type: std::vector<uint8_t>
      item_type: struct
      name: TestProp
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/tests/gtest/avif_fuzztest_properties.cc
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifcicptest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifilocextenttest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::AvifExpression::AvifExpression
  - ~AvifExpression()
  - avif::AvifExpression::AddConstant
  - avif::AvifExpression::AddImage
  - avif::AvifExpression::AddOperator
  - avif::AvifExpression::Apply
  - '& AddToken()'
  - avif::Eval
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::Op
  - avif::Op
  - avif::TEST_P
  - avif::AvifExpression::AvifExpression
  - ~AvifExpression()
  - avif::AvifExpression::AddConstant
  - avif::AvifExpression::AddImage
  - avif::AvifExpression::AddOperator
  - avif::AvifExpression::Apply
  - '& AddToken()'
  - avif::Eval
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::Op
  - avif::Op
  - avif::TEST_P
  - avif::AvifExpression::AvifExpression
  - ~AvifExpression()
  - avif::AvifExpression::AddConstant
  - avif::AvifExpression::AddImage
  - avif::AvifExpression::AddOperator
  - avif::AvifExpression::Apply
  - '& AddToken()'
  - avif::Eval
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::Op
  - avif::Op
  - avif::TEST_P
  - avif::AvifExpression::AvifExpression
  - ~AvifExpression()
  - avif::AvifExpression::AddConstant
  - avif::AvifExpression::AddImage
  - avif::AvifExpression::AddOperator
  - avif::AvifExpression::Apply
  - '& AddToken()'
  - avif::Eval
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::Op
  - avif::Op
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifsampletransformtest.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: left
        type: int32_t
      - name: right
        type: int32_t
      - name: op
        type: avifSampleTransformTokenType
      - name: expected_result
        type: uint32_t
      - name: single_operand
        type: bool
      item_type: struct
      name: Op
      pos:
        line_end: 195
        line_start: 184
        source_file: /src/libavif/tests/gtest/avifsampletransformtest.cc
    - fields:
      - name: left
        type: int32_t
      - name: right
        type: int32_t
      - name: op
        type: avifSampleTransformTokenType
      - name: expected_result
        type: uint32_t
      - name: single_operand
        type: bool
      item_type: struct
      name: Op
      pos:
        line_end: 195
        line_start: 184
        source_file: /src/libavif/tests/gtest/avifsampletransformtest.cc
    - fields:
      - name: left
        type: int32_t
      - name: right
        type: int32_t
      - name: op
        type: avifSampleTransformTokenType
      - name: expected_result
        type: uint32_t
      - name: single_operand
        type: bool
      item_type: struct
      name: Op
      pos:
        line_end: 195
        line_start: 184
        source_file: /src/libavif/tests/gtest/avifsampletransformtest.cc
    - fields:
      - name: left
        type: int32_t
      - name: right
        type: int32_t
      - name: op
        type: avifSampleTransformTokenType
      - name: expected_result
        type: uint32_t
      - name: single_operand
        type: bool
      item_type: struct
      name: Op
      pos:
        line_end: 195
        line_start: 184
        source_file: /src/libavif/tests/gtest/avifsampletransformtest.cc
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libavif/tests/gtest/are_images_equal.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::CheckGainMapMetadataMatches
  - avif::FillTestGainMapMetadata
  - avif::CreateTestImageWithGainMap
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - EXPECT_FRACTION_NEAR
  - avif::SwapBaseAndAlternate
  - avif::TEST
  - avif::ToneMapImageAndCompareToReference
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadataMatches
  - avif::FillTestGainMapMetadata
  - avif::CreateTestImageWithGainMap
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - EXPECT_FRACTION_NEAR
  - avif::SwapBaseAndAlternate
  - avif::TEST
  - avif::ToneMapImageAndCompareToReference
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadataMatches
  - avif::FillTestGainMapMetadata
  - avif::CreateTestImageWithGainMap
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - EXPECT_FRACTION_NEAR
  - avif::SwapBaseAndAlternate
  - avif::TEST
  - avif::ToneMapImageAndCompareToReference
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadataMatches
  - avif::FillTestGainMapMetadata
  - avif::CreateTestImageWithGainMap
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - EXPECT_FRACTION_NEAR
  - avif::SwapBaseAndAlternate
  - avif::TEST
  - avif::ToneMapImageAndCompareToReference
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifgainmaptest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifavmtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifbasictest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifcolrtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::WriteAndReadImage
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::WriteAndReadImage
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::WriteAndReadImage
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::WriteAndReadImage
  - avif::TEST_P
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifmetadatatest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifstreamtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifpixitest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  - avif::testutil::AvifIoRead
  - avif::testutil::DecodeIncr
  source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    - fields:
      - name: '* available_bytes'
        type: uint8_t
      - name: available_size
        type: size_t
      - name: read_size
        type: size_t
      item_type: struct
      name: DecoderInput
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/libavif/tests/gtest/avif_fuzztest_dec_incr.cc
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifrgbtoyuvthreadingtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifminitest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifkeyframetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::GetIoStatsFromEncode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::GetIoStatsFromEncode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::GetIoStatsFromEncode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::GetIoStatsFromEncode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifiostatstest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifaltrtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TestAllocation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestEncoding
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestAllocation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestEncoding
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestAllocation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestEncoding
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestAllocation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestEncoding
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifallocationtest.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_EXTREMES
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libavif/tests/gtest/avifallocationtest.cc
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifsize0test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifpropertytest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TestRoundTrip
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestRoundTrip
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestRoundTrip
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TestRoundTrip
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifutilstest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/aviftransformtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  - avif::testutil::Parse
  - avif::testutil::Decode
  source_file: /src/libavif/tests/gtest/avif_fuzztest_dec.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  - avif::testutil::CheckGainMapMetadataMatches
  - avif::testutil::EncodeDecodeValid
  source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::ExpectMatrixNear
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::ExpectMatrixNear
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::ExpectMatrixNear
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - avif::ExpectMatrixNear
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST_P
  - main
  source_file: /src/libavif/tests/gtest/avifcolrconverttest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifpropinternaltest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifheadertest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifrgbtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::FuzzTestPrintSourceCode
  - avif::testutil::ArbitraryPixelFormat
  - avif::testutil::ArbitraryAvifImage8b
  - avif::testutil::ArbitraryAvifImage16b
  - avif::testutil::ArbitraryAvifAnim8b
  - avif::testutil::ArbitraryAvifAnim16b
  - avif::testutil::ArbitraryAvifImage
  - avif::testutil::ArbitraryAvifAnim
  - avif::testutil::ArbitraryMinMaxSignedFraction
  - avif::testutil::ArbitraryAvifImageWithGainMap
  - avif::testutil::ArbitraryAvifEncoder
  - avif::testutil::ArbitraryBaseAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
  - avif::testutil::ArbitraryAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
  - avif::testutil::ArbitraryImageWithSeeds
  - avif::testutil::ArbitraryPixelFormat
  - avif::testutil::ArbitraryAvifImage8b
  - avif::testutil::ArbitraryAvifImage16b
  - avif::testutil::ArbitraryAvifAnim8b
  - avif::testutil::ArbitraryAvifAnim16b
  - avif::testutil::ArbitraryAvifImage
  - avif::testutil::ArbitraryAvifAnim
  - avif::testutil::ArbitraryMinMaxSignedFraction
  - avif::testutil::ArbitraryAvifImageWithGainMap
  - avif::testutil::ArbitraryAvifEncoder
  - avif::testutil::ArbitraryBaseAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
  - avif::testutil::ArbitraryAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
  - avif::testutil::ArbitraryImageWithSeeds
  - avif::FuzzTestPrintSourceCode
  - avif::testutil::ArbitraryPixelFormat
  - avif::testutil::ArbitraryAvifImage8b
  - avif::testutil::ArbitraryAvifImage16b
  - avif::testutil::ArbitraryAvifAnim8b
  - avif::testutil::ArbitraryAvifAnim16b
  - avif::testutil::ArbitraryAvifImage
  - avif::testutil::ArbitraryAvifAnim
  - avif::testutil::ArbitraryMinMaxSignedFraction
  - avif::testutil::ArbitraryAvifImageWithGainMap
  - avif::testutil::ArbitraryAvifEncoder
  - avif::testutil::ArbitraryBaseAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
  - avif::testutil::ArbitraryAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
  - avif::testutil::ArbitraryImageWithSeeds
  - avif::testutil::ArbitraryPixelFormat
  - avif::testutil::ArbitraryAvifImage8b
  - avif::testutil::ArbitraryAvifImage16b
  - avif::testutil::ArbitraryAvifAnim8b
  - avif::testutil::ArbitraryAvifAnim16b
  - avif::testutil::ArbitraryAvifImage
  - avif::testutil::ArbitraryAvifAnim
  - avif::testutil::ArbitraryMinMaxSignedFraction
  - avif::testutil::ArbitraryAvifImageWithGainMap
  - avif::testutil::ArbitraryAvifEncoder
  - avif::testutil::ArbitraryBaseAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderWithGainMapOptions
  - avif::testutil::ArbitraryAvifDecoder
  - avif::testutil::ArbitraryAvifDecoderPossiblyNoContent
  - avif::testutil::ArbitraryImageWithSeeds
  source_file: /src/libavif/tests/gtest/avif_fuzztest_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::GenerateEncodedData
  - avif::TEST_P
  - avif::TEST_P
  - avif::GenerateEncodedData
  - avif::TEST_P
  - avif::TEST_P
  - avif::GenerateEncodedData
  - avif::TEST_P
  - avif::TEST_P
  - avif::GenerateEncodedData
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifrangetest.cc
  types:
    enum:
    - enumerators:
      - name: kStillImage
      - name: kAnimation
      - name: kGrid
      item_type: enum
      name: InputType
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    - enumerators:
      - name: kStillImage
      - name: kAnimation
      - name: kGrid
      item_type: enum
      name: InputType
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    - enumerators:
      - name: kStillImage
      - name: kAnimation
      - name: kGrid
      item_type: enum
      name: InputType
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    - enumerators:
      - name: kStillImage
      - name: kAnimation
      - name: kGrid
      item_type: enum
      name: InputType
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/libavif/tests/gtest/avifrangetest.cc
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/aviftunetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::SvtAv1SupportsLossless
  - avif::TEST_P
  - avif::TEST_P
  - avif::SvtAv1SupportsLossless
  - avif::TEST_P
  - avif::TEST_P
  - avif::SvtAv1SupportsLossless
  - avif::TEST_P
  - avif::TEST_P
  - avif::SvtAv1SupportsLossless
  - avif::TEST_P
  - avif::TEST_P
  source_file: /src/libavif/tests/gtest/avifsvttest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::EncodeRectAsIncremental
  - avif::testutil::DecodeIncrementally
  - avif::testutil::DecodeNonIncrementallyAndIncrementally
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::EncodeRectAsIncremental
  - avif::testutil::DecodeIncrementally
  - avif::testutil::DecodeNonIncrementallyAndIncrementally
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::EncodeRectAsIncremental
  - avif::testutil::DecodeIncrementally
  - avif::testutil::DecodeNonIncrementallyAndIncrementally
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::ComparePartialYuva
  - avif::testutil::GetMinDecodedRowCount
  - avif::testutil::PartialRead
  - avif::testutil::EncodeAsGrid
  - avif::testutil::EncodeAsIncremental
  - avif::testutil::EncodeRectAsIncremental
  - avif::testutil::DecodeIncrementally
  - avif::testutil::DecodeNonIncrementallyAndIncrementally
  source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    - fields:
      - name: available
        type: avifROData
      - name: full_size
        type: size_t
      - name: nonpersistent_bytes
        type: std::unique_ptr<uint8_t[]>
      - name: num_nonpersistent_bytes
        type: size_t
      item_type: struct
      name: PartialData
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/libavif/tests/gtest/avifincrtest_helpers.cc
    typedefs: []
    union: []
- function_names:
  - avif::CheckGainMapMetadata
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadata
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadata
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::CheckGainMapMetadata
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifjpeggainmaptest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  source_file: /src/libavif/tests/gtest/avifalphapremtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::ReadImageSimple
  - avif::GetIsGray
  - avif::TEST_P
  - avif::TEST
  - avif::ReadImageSimple
  - avif::GetIsGray
  - avif::TEST_P
  - avif::TEST
  - avif::ReadImageSimple
  - avif::GetIsGray
  - avif::TEST_P
  - avif::TEST
  - avif::ReadImageSimple
  - avif::GetIsGray
  - avif::TEST_P
  - main
  source_file: /src/libavif/tests/gtest/aviflosslesstest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifscaletest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  - avif::testutil::EncodeDecodeGridValid
  source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_incr.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST_P
  - avif::CreateGainMap
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::CreateGainMap
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::CreateGainMap
  - avif::TEST_P
  - avif::TEST
  - avif::TEST_P
  - avif::CreateGainMap
  - avif::TEST_P
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avif16bittest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TestEncodeDecode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TestEncodeDecode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TestEncodeDecode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - avif::TestEncodeDecode
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::EncodeAnimation
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifchangesettingtest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - avif::TEST
  - main
  source_file: /src/libavif/tests/gtest/avifdecodetest.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  - avif::testutil::EncodeDecodeAnimation
  source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    - fields:
      - name: duration
        type: uint64_t
      - name: flags
        type: avifAddImageFlags
      item_type: struct
      name: FrameOptions
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libavif/tests/gtest/avif_fuzztest_enc_dec_anim.cc
    typedefs: []
    union: []
- function_names:
  - avif::testutil::avifBreakOnError
  - AVIF_CHECKERR
  - avif::testutil::avifBreakOnError
  - AVIF_CHECKERR
  - avif::testutil::avifBreakOnError
  - AVIF_CHECKERR
  - avif::testutil::avifBreakOnError
  - AVIF_CHECKERR
  source_file: /src/libavif/tests/gtest/avifincrtest_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifGainMapSetEncodingDefaults
  - avifSignedFractionToFloat
  - avifUnsignedFractionToFloat
  - avifGetGainMapWeight
  - lerp
  - avifRGBImageApplyGainMap
  - avifImageApplyGainMap
  - avifValueToBucketIdx
  - avifBucketIdxToValue
  - avifFindMinMaxWithoutOutliers
  - avifGainMapValidateMetadata
  - avifSameGainMapMetadata
  - avifSameGainMapAltMetadata
  - avifChooseColorSpaceForGainMapMath
  - avifRGBImageComputeGainMap
  - avifImageComputeGainMap
  source_file: /src/libavif/src/gainmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SDR_WHITE_NITS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libavif/src/gainmap.c
      type_or_value: 203.0f
    structs: []
    typedefs: []
    union: []
- function_names:
  - floorLog2
  - splitTilesLog2
  - avifSetTileConfiguration
  - avifCodecEncodeOutputCreate
  - avifCodecEncodeOutputAddSample
  - avifCodecEncodeOutputDestroy
  - avifEncoderDataCreate
  - avifEncoderDataCreateItem
  - avifEncoderDataFindItemByID
  - avifEncoderDataDestroy
  - avifEncoderItemAddMdatFixup
  - avifItemPropertyDedupCreate
  - avifItemPropertyDedupDestroy
  - avifItemPropertyDedupStart
  - avifItemPropertyDedupFinish
  - avifEncoderCreate
  - avifEncoderDestroy
  - avifEncoderSetCodecSpecificOption
  - avifEncoderBackupSettings
  - avifEncoderDetectChanges
  - avifEncoderWriteNclxProperty
  - avifEncoderWriteColorProperties
  - avifEncoderWriteContentLightLevelInformation
  - avifEncoderWriteHDRProperties
  - avifEncoderWriteMiniHDRProperties
  - avifEncoderWritePaspProperty
  - avifEncoderWriteTransformativeProperties
  - avifRWStreamWriteHandlerBox
  - avifEncoderWriteTrackMetaBox
  - avifWriteGridPayload
  - avifGainMapIdenticalChannels
  - avifGainMapMetadataSize
  - avifWriteGainmapMetadata
  - avifWriteToneMappedImagePayload
  - avifEncoderGetGainMapSizeBytes
  - avifImageCopyAltImageMetadata
  - avifEncoderWriteSampleTransformTokens
  - avifEncoderWriteSampleTransformPayload
  - avifEncoderDataCreateExifItem
  - avifEncoderDataCreateXMPItem
  - avifImageCopyAndPad
  - avifGetQuality
  - getInfeName
  - avifEncoderAddImageItems
  - avifEncoderCreateBitDepthExtensionItems
  - avifImageApplyImgOpConst
  - avifImageCreateAllocate
  - avifEncoderDecodeSatoBaseImage
  - avifEncoderCreateSatoImage
  - avifEncoderCreateBitDepthExtensionImage
  - avifEncoderGetCodecType
  - avifEncoderDataShouldForceKeyframeForAlpha
  - avifGetErrorForItemCategory
  - avifGridWidth
  - avifGridHeight
  - avifValidateGrid
  - avifEncoderAddImageInternal
  - avifEncoderAddImage
  - avifEncoderAddImageGrid
  - avifEncoderFindExistingChunk
  - avifEncoderWriteMediaDataBox
  - avifWriteAltrGroup
  - avifEncoderIsMiniCompatible
  - avifEncoderWriteFileTypeBoxAndMiniBox
  - avifEncoderWriteMiniBox
  - avifRWStreamWriteProperties
  - avifEncoderFinish
  - avifEncoderWrite
  - writeCodecConfig
  - writeConfigBox
  source_file: /src/libavif/src/write.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PROPERTY_INDEX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libavif/src/write.c
      type_or_value: ((1 << 7) - 1)
    structs:
    - fields:
      - name: property_index
        type: uint8_t
      - name: essential
        type: avifBool
      item_type: struct
      name: avifItemPropertyAssociation
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/libavif/src/write.c
    - fields:
      - name: offset
        type: size_t
      item_type: struct
      name: avifOffsetFixup
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/libavif/src/write.c
    - fields:
      - name: id
        type: uint16_t
      - name: type[4]
        type: uint8_t
      - name: '* codec'
        type: avifCodec
      - name: '* encodeOutput'
        type: avifCodecEncodeOutput
      - name: metadataPayload
        type: avifRWData
      - name: av1C
        type: avifCodecConfigurationBox
      - name: cellIndex
        type: uint32_t
      - name: itemCategory
        type: avifItemCategory
      - name: hiddenImage
        type: avifBool
      - name: '* infeName'
        type: char
      - name: infeNameSize
        type: size_t
      - name: '* infeContentType'
        type: char
      - name: infeContentTypeSize
        type: size_t
      - name: mdatFixups
        type: avifOffsetFixupArray
      - name: irefToID
        type: uint16_t
      - name: '* irefType'
        type: char
      - name: gridCols
        type: uint32_t
      - name: gridRows
        type: uint32_t
      - name: gridWidth
        type: uint32_t
      - name: gridHeight
        type: uint32_t
      - name: extraLayerCount
        type: uint32_t
      - name: dimgFromID
        type: uint16_t
      - name: associations
        type: avifItemPropertyAssociationArray
      item_type: struct
      name: avifEncoderItem
      pos:
        line_end: 197
        line_start: 163
        source_file: /src/libavif/src/write.c
    - fields:
      - name: durationInTimescales
        type: uint64_t
      item_type: struct
      name: avifEncoderFrame
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/libavif/src/write.c
    - fields:
      - name: items
        type: avifEncoderItemArray
      - name: frames
        type: avifEncoderFrameArray
      - name: quality
        type: int
      - name: qualityAlpha
        type: int
      - name: qualityGainMap
        type: int
      - name: tileRowsLog2
        type: int
      - name: tileColsLog2
        type: int
      - name: lastEncoder
        type: avifEncoder
      - name: lastQuality
        type: int
      - name: lastQualityAlpha
        type: int
      - name: lastTileRowsLog2
        type: int
      - name: lastTileColsLog2
        type: int
      - name: '* imageMetadata'
        type: avifImage
      - name: '* altImageMetadata'
        type: avifImage
      - name: lastItemID
        type: uint16_t
      - name: primaryItemID
        type: uint16_t
      - name: alternativeItemIDs
        type: avifEncoderItemIdArray
      - name: singleImage
        type: avifBool
      - name: alphaPresent
        type: avifBool
      - name: gainMapSizeBytes
        type: size_t
      - name: '* imageItemType'
        type: char
      - name: '* configPropName'
        type: char
      item_type: struct
      name: avifEncoderData
      pos:
        line_end: 254
        line_start: 221
        source_file: /src/libavif/src/write.c
    - fields:
      - name: index
        type: uint8_t
      - name: offset
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: avifItemProperty
      pos:
        line_end: 375
        line_start: 370
        source_file: /src/libavif/src/write.c
    - fields:
      - name: properties
        type: avifItemPropertyArray
      - name: s
        type: avifRWStream
      - name: buffer
        type: avifRWData
      - name: nextIndex
        type: uint8_t
      item_type: struct
      name: avifItemPropertyDedup
      pos:
        line_end: 384
        line_start: 378
        source_file: /src/libavif/src/write.c
    typedefs:
    - item_type: typedef
      name: '* avifEncoderItemReference'
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/libavif/src/write.c
      type: avifEncoderItem
    union: []
- function_names:
  - avifImageRGBToYUVLibSharpYUV
  - avifImageRGBToYUVLibSharpYUV
  source_file: /src/libavif/src/reformat_libsharpyuv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rav1eCodecDestroyInternal
  - rav1eSupports400
  - rav1eQualityToQuantizer
  - rav1eCodecEncodeImage
  - rav1eCodecEncodeFinish
  - avifCodecVersionRav1e
  - avifCodecCreateRav1e
  source_file: /src/libavif/src/codec_rav1e.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* rav1eContext'
        type: RaContext
      - name: chromaSampling
        type: RaChromaSampling
      - name: yShift
        type: int
      - name: encodeWidth
        type: uint32_t
      - name: encodeHeight
        type: uint32_t
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 16
        line_start: 9
        source_file: /src/libavif/src/codec_rav1e.c
    typedefs: []
    union: []
- function_names:
  - avifSampleTransformExpressionIsValid
  - avifSampleTransformExpressionIsEquivalentTo
  - avifPushConstant
  - avifPushInputImageItem
  - avifPushOperator
  - avifSampleTransformRecipeToExpression
  - avifSampleTransformExpressionToRecipe
  - avifSampleTransformClamp32b
  - avifSampleTransformOperation32bOneOperand
  - avifSampleTransformOperation32bTwoOperands
  - avifImageApplyExpression32b
  - avifImageApplyExpression
  - avifImageApplyOperations
  source_file: /src/libavif/src/sampletransform.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifImageScaleWithLimit
  - avifImageScale
  source_file: /src/libavif/src/scale.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_LIBYUV_FILTER_MODE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libavif/src/scale.c
      type_or_value: kFilterBox
    structs: []
    typedefs: []
    union: []
- function_names:
  - gav1CodecDestroyInternal
  - gav1CodecGetNextImage
  - avifCodecVersionGav1
  - avifCodecCreateGav1
  source_file: /src/libavif/src/codec_libgav1.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gav1Settings
        type: Libgav1DecoderSettings
      - name: '* gav1Decoder'
        type: Libgav1Decoder
      - name: '* gav1Image'
        type: Libgav1DecoderBuffer
      - name: colorRange
        type: avifRange
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 15
        line_start: 9
        source_file: /src/libavif/src/codec_libgav1.c
    typedefs: []
    union: []
- function_names:
  - STR_HELPER
  - STR
  - avifVersion
  - avifPixelFormatToString
  - avifGetPixelFormatInfo
  - avifResultToString
  - avifProgressiveStateToString
  - avifImageSetDefaults
  - avifImageCreate
  - avifImageCreateEmpty
  - avifImageCopyNoAlloc
  - avifImageCopySamples
  - avifImageCopyProperties
  - avifImageCopy
  - avifImageSetViewRect
  - avifImageDestroy
  - avifImageSetProfileICC
  - avifImageSetMetadataXMP
  - avifImagePushProperty
  - avifImageAddOpaqueProperty
  - avifImageAddUUIDProperty
  - avifImageAllocatePlanes
  - avifImageFreePlanes
  - avifImageStealPlanes
  - avifImageUsesU16
  - avifImageIsOpaque
  - avifImagePlane
  - avifImagePlaneRowBytes
  - avifImagePlaneWidth
  - avifImagePlaneHeight
  - avifDimensionsTooLarge
  - avifCodecDestroy
  - avifRGBFormatIsGray
  - avifRGBFormatHasAlpha
  - avifRGBFormatChannelCount
  - avifRGBImagePixelSize
  - avifRGBImageSetDefaults
  - avifRGBImageAllocatePixels
  - avifRGBImageFreePixels
  - calcCenter
  - overflowsInt32
  - avifCropRectIsValid
  - avifCropRectFromCleanApertureBox
  - avifCleanApertureBoxFromCropRect
  - avifCropRectRequiresUpsampling
  - avifCropRectConvertCleanApertureBox
  - avifCleanApertureBoxConvertCropRect
  - avifIsAlpha
  - avifAreGridDimensionsValid
  - avifStrdup
  - avifCodecSpecificOptionsCreate
  - avifCodecSpecificOptionsClear
  - avifCodecSpecificOptionsDestroy
  - avifCodecSpecificOptionsSet
  - findAvailableCodec
  - avifCodecName
  - avifCodecTypeFromChoice
  - avifCodecChoiceFromName
  - avifCodecCreate
  - append
  - avifCodecVersions
  - avifGainMapCreate
  - avifGainMapSetDefaults
  - avifGainMapDestroy
  source_file: /src/libavif/src/avif.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_VERSION_STRING
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libavif/src/avif.c
      type_or_value: (STR(AVIF_VERSION_MAJOR) "." STR(AVIF_VERSION_MINOR) "." STR(AVIF_VERSION_PATCH))
    structs:
    - fields:
      - name: choice
        type: avifCodecChoice
      - name: type
        type: avifCodecType
      - name: '* name'
        type: char
      - name: version
        type: versionFunc
      - name: create
        type: avifCodecCreateFunc
      - name: flags
        type: uint32_t
      item_type: struct
      name: AvailableCodec
      pos:
        line_end: 1168
        line_start: 1160
        source_file: /src/libavif/src/avif.c
    typedefs:
    - item_type: typedef
      name: '* (*versionFunc)(void)'
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/libavif/src/avif.c
      type: char
    - item_type: typedef
      name: '* (*avifCodecCreateFunc)(void)'
      pos:
        line_end: 1158
        line_start: 1158
        source_file: /src/libavif/src/avif.c
      type: avifCodec
    union: []
- function_names:
  - avmCodecDestroyInternal
  - avifCheckCodecVersionAVM
  - avmCodecGetNextImage
  - avifImageCalcAVMFmt
  - avmOptionParseEnum
  - avifKeyEqualsName
  - avifProcessAVMOptionsPreInit
  - avifProcessAVMOptionsPostInit
  - avifFindAVMScalingMode
  - avmScaleQuantizer
  - avmQualityToQuantizer
  - avmCodecEncodeImage
  - avmCodecEncodeFinish
  - avifCodecVersionAVM
  - avifCodecCreateAVM
  source_file: /src/libavif/src/codec_avm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TWO_LAYER_ALL_INTRA_QUALITY_THRESHOLD
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libavif/src/codec_avm.c
      type_or_value: '10'
    structs:
    - fields:
      - name: decoderInitialized
        type: avifBool
      - name: decoder
        type: avm_codec_ctx_t
      - name: iter
        type: avm_codec_iter_t
      - name: '* image'
        type: avm_image_t
      - name: encoderInitialized
        type: avifBool
      - name: encoder
        type: avm_codec_ctx_t
      - name: cfg
        type: struct avm_codec_enc_cfg
      - name: formatInfo
        type: avifPixelFormatInfo
      - name: avmFormat
        type: avm_img_fmt_t
      - name: monochromeEnabled
        type: avifBool
      - name: tuningSet
        type: avifBool
      - name: currentLayer
        type: uint32_t
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 35
        line_start: 18
        source_file: /src/libavif/src/codec_avm.c
    - fields:
      - name: '* name'
        type: char
      - name: val
        type: int
      item_type: struct
      name: avmOptionEnumList
      pos:
        line_end: 290
        line_start: 286
        source_file: /src/libavif/src/codec_avm.c
    - fields:
      - name: avifMode
        type: avifFraction
      - name: avmMode
        type: AVM_SCALING_MODE
      item_type: struct
      name: avmScalingModeMapList
      pos:
        line_end: 404
        line_start: 400
        source_file: /src/libavif/src/codec_avm.c
    typedefs: []
    union: []
- function_names:
  - avifRWDataRealloc
  - avifRWDataSet
  - avifRWDataFree
  source_file: /src/libavif/src/rawdata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifXyToXYZ
  - avifMatInv
  - avifMatMul
  - avifMatDiag
  - avifVecMul
  - avifColorPrimariesComputeRGBToXYZD50Matrix
  - avifColorPrimariesComputeXYZD50ToRGBMatrix
  - avifColorPrimariesComputeRGBToRGBMatrix
  - avifLinearRGBConvertColorSpace
  source_file: /src/libavif/src/colrconvert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifIsCompliant
  source_file: /src/libavif/src/compliance.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aomCodecDestroyInternal
  - aomCodecGetNextImage
  - avifImageCalcAOMFmt
  - aomOptionParseInt
  - aomOptionParseUInt
  - aomOptionParseEnum
  - avifKeyEqualsName
  - avifAOMOptionsContainExplicitTuning
  - avifProcessAOMOptionsPreInit
  - avifProcessAOMOptionsPostInit
  - avifFindAOMScalingMode
  - doesLevelMatch
  - aomQualityToQuantizer
  - aomCodecEncodeImage
  - aomCodecEncodeFinish
  - avifCodecVersionAOM
  - avifCodecCreateAOM
  source_file: /src/libavif/src/codec_aom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_AOM_CODEC_SET_OPTION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libavif/src/codec_aom.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ALL_INTRA_HAS_SPEEDS_7_TO_9
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libavif/src/codec_aom.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TWO_LAYER_ALL_INTRA_QUALITY_THRESHOLD
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libavif/src/codec_aom.c
      type_or_value: '10'
    - item_type: preproc_def
      name: AOM_TUNE_IQ
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libavif/src/codec_aom.c
      type_or_value: '10'
    structs:
    - fields: []
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 73
        line_start: 54
        source_file: /src/libavif/src/codec_aom.c
    - fields:
      - name: '* name'
        type: char
      - name: val
        type: int
      item_type: struct
      name: aomOptionEnumList
      pos:
        line_end: 339
        line_start: 335
        source_file: /src/libavif/src/codec_aom.c
    - fields:
      - name: '* name'
        type: char
      - name: controlId
        type: int
      - name: type
        type: aomOptionType
      - name: '* enums'
        type: struct aomOptionEnumList
      item_type: struct
      name: aomOptionDef
      pos:
        line_end: 455
        line_start: 448
        source_file: /src/libavif/src/codec_aom.c
    - fields:
      - name: avifMode
        type: avifFraction
      - name: aomMode
        type: AOM_SCALING_MODE
      item_type: struct
      name: aomScalingModeMapList
      pos:
        line_end: 568
        line_start: 564
        source_file: /src/libavif/src/codec_aom.c
    typedefs: []
    union: []
- function_names:
  - SVT_AV1_CHECK_VERSION
  - STR_HELPER
  - STR
  - svtQualityToQuantizer
  - svtCodecEncodeImage
  - svtCodecEncodeFinish
  - avifCodecVersionSvt
  - svtCodecDestroyInternal
  - avifCodecCreateSvt
  - allocate_svt_buffers
  - dequeue_frame
  source_file: /src/libavif/src/codec_svt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SVT_AV1_VERSION_MAJOR
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libavif/src/codec_svt.c
      type_or_value: SVT_VERSION_MAJOR
    - item_type: preproc_def
      name: SVT_AV1_VERSION_MINOR
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libavif/src/codec_svt.c
      type_or_value: SVT_VERSION_MINOR
    - item_type: preproc_def
      name: SVT_AV1_VERSION_PATCHLEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libavif/src/codec_svt.c
      type_or_value: SVT_VERSION_PATCHLEVEL
    - item_type: preproc_def
      name: SVT_FULL_VERSION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libavif/src/codec_svt.c
      type_or_value: '"v" STR(SVT_AV1_VERSION_MAJOR) "." STR(SVT_AV1_VERSION_MINOR)
        "." STR(SVT_AV1_VERSION_PATCHLEVEL)'
    structs:
    - fields:
      - name: '* svt_encoder'
        type: EbComponentType
      - name: svt_config
        type: EbSvtAv1EncConfiguration
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/libavif/src/codec_svt.c
    typedefs: []
    union: []
- function_names:
  - avifImageRGBToYUVLibYUV
  - avifImageYUVToRGBLibYUV
  - avifRGBImagePremultiplyAlphaLibYUV
  - avifRGBImageUnpremultiplyAlphaLibYUV
  - avifRGBImageToF16LibYUV
  - avifLibYUVVersion
  - avifReorderARGBThenConvertToYUV
  - AVIF_DEFINE_CONVERSION
  - avifImageRGBToYUVLibYUV
  - avifImageRGBToYUVLibYUV8bpc
  - nearestNeighborFilterAllowed
  - getLibYUVConversionFunction
  - getLibYUVConstants
  - avifImageDownshiftTo8bpc
  - avifImageYUVToRGBLibYUV
  - avifRGBImagePremultiplyAlphaLibYUV
  - avifRGBImageUnpremultiplyAlphaLibYUV
  - avifRGBImageToF16LibYUV
  - avifLibYUVVersion
  source_file: /src/libavif/src/reformat_libyuv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IGNORE_CFI_ICALL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: __attribute__((no_sanitize("cfi-icall", "function")))
    - item_type: preproc_def
      name: RAWToJ444
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I444ToRGB24Matrix
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I422ToRGB24MatrixFilter
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I420ToRGB24MatrixFilter
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: ABGRToJ400
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I422ToRGB565Matrix
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I422ToARGBMatrixFilter
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I420ToARGBMatrixFilter
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I210ToARGBMatrixFilter
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I010ToARGBMatrixFilter
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I420AlphaToARGBMatrixFilter
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I422AlphaToARGBMatrixFilter
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I010AlphaToARGBMatrixFilter
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I210AlphaToARGBMatrixFilter
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: RAWToJ420
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I012ToARGBMatrix
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I410ToARGBMatrix
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I410AlphaToARGBMatrix
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I210AlphaToARGBMatrix
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I010AlphaToARGBMatrix
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I422AlphaToARGBMatrix
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I444AlphaToARGBMatrix
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: I400ToARGBMatrix
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libavif/src/reformat_libyuv.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: yuv400ToRgbMatrix
        type: YUV400ToRGBMatrix
      - name: yuvToRgbMatrixFilter
        type: YUVToRGBMatrixFilter
      - name: yuvaToRgbMatrixFilter
        type: YUVAToRGBMatrixFilter
      - name: yuvToRgbMatrix
        type: YUVToRGBMatrix
      - name: yuvaToRgbMatrix
        type: YUVAToRGBMatrix
      - name: yuvToRgbMatrixFilterHighBitDepth
        type: YUVToRGBMatrixFilterHighBitDepth
      - name: yuvaToRgbMatrixFilterHighBitDepth
        type: YUVAToRGBMatrixFilterHighBitDepth
      - name: yuvToRgbMatrixHighBitDepth
        type: YUVToRGBMatrixHighBitDepth
      - name: yuvaToRgbMatrixHighBitDepth
        type: YUVAToRGBMatrixHighBitDepth
      item_type: struct
      name: LibyuvConversionFunction
      pos:
        line_end: 529
        line_start: 518
        source_file: /src/libavif/src/reformat_libyuv.c
    typedefs:
    - item_type: typedef
      name: (*RGBtoY)(const uint8_t *, int, uint8_t *, int, int, int)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: (*RGBtoYUV)(const uint8_t *, int, uint8_t *, int, uint8_t *, int, uint8_t
        *, int, int, int)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: (*YUV400ToRGBMatrix)(const uint8_t *, int, uint8_t *, int, const struct
        YuvConstants *, int, int)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVToRGBMatrixFilter)(const uint8_t *,\n                                    int,\n
        \                                   const uint8_t *,\n                                    int,\n
        \                                   const uint8_t *,\n                                    int,\n
        \                                   uint8_t *,\n                                    int,\n
        \                                   const struct YuvConstants *,\n                                    int,\n
        \                                   int,\n                                    enum
        FilterMode)"
      pos:
        line_end: 433
        line_start: 422
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVAToRGBMatrixFilter)(const uint8_t *,\n                                     int,\n
        \                                    const uint8_t *,\n                                     int,\n
        \                                    const uint8_t *,\n                                     int,\n
        \                                    const uint8_t *,\n                                     int,\n
        \                                    uint8_t *,\n                                     int,\n
        \                                    const struct YuvConstants *,\n                                     int,\n
        \                                    int,\n                                     int,\n
        \                                    enum FilterMode)"
      pos:
        line_end: 448
        line_start: 434
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: (*YUVToRGBMatrix)(const uint8_t *, int, const uint8_t *, int, const uint8_t
        *, int, uint8_t *, int, const struct YuvConstants *, int, int)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVAToRGBMatrix)(const uint8_t *,\n                               int,\n
        \                              const uint8_t *,\n                               int,\n
        \                              const uint8_t *,\n                               int,\n
        \                              const uint8_t *,\n                               int,\n
        \                              uint8_t *,\n                               int,\n
        \                              const struct YuvConstants *,\n                               int,\n
        \                              int,\n                               int)"
      pos:
        line_end: 463
        line_start: 450
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVToRGBMatrixFilterHighBitDepth)(const uint16_t *,\n                                                int,\n
        \                                               const uint16_t *,\n                                                int,\n
        \                                               const uint16_t *,\n                                                int,\n
        \                                               uint8_t *,\n                                                int,\n
        \                                               const struct YuvConstants
        *,\n                                                int,\n                                                int,\n
        \                                               enum FilterMode)"
      pos:
        line_end: 475
        line_start: 464
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVAToRGBMatrixFilterHighBitDepth)(const uint16_t *,\n                                                 int,\n
        \                                                const uint16_t *,\n                                                 int,\n
        \                                                const uint16_t *,\n                                                 int,\n
        \                                                const uint16_t *,\n                                                 int,\n
        \                                                uint8_t *,\n                                                 int,\n
        \                                                const struct YuvConstants
        *,\n                                                 int,\n                                                 int,\n
        \                                                int,\n                                                 enum
        FilterMode)"
      pos:
        line_end: 490
        line_start: 476
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVToRGBMatrixHighBitDepth)(const uint16_t *,\n                                          int,\n
        \                                         const uint16_t *,\n                                          int,\n
        \                                         const uint16_t *,\n                                          int,\n
        \                                         uint8_t *,\n                                          int,\n
        \                                         const struct YuvConstants *,\n                                          int,\n
        \                                         int)"
      pos:
        line_end: 501
        line_start: 491
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    - item_type: typedef
      name: "(*YUVAToRGBMatrixHighBitDepth)(const uint16_t *,\n                                           int,\n
        \                                          const uint16_t *,\n                                           int,\n
        \                                          const uint16_t *,\n                                           int,\n
        \                                          const uint16_t *,\n                                           int,\n
        \                                          uint8_t *,\n                                           int,\n
        \                                          const struct YuvConstants *,\n
        \                                          int,\n                                           int,\n
        \                                          int)"
      pos:
        line_end: 515
        line_start: 502
        source_file: /src/libavif/src/reformat_libyuv.c
      type: int
    union: []
- function_names:
  - avifIsKnownPropertyType
  - avifIsValidUUID
  source_file: /src/libavif/src/properties.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fourcc[4]
        type: uint8_t
      item_type: struct
      name: avifKnownProperty
      pos:
        line_end: 10
        line_start: 7
        source_file: /src/libavif/src/properties.c
    typedefs: []
    union: []
- function_names:
  - avifIODestroy
  - avifIOMemoryReaderRead
  - avifIOMemoryReaderDestroy
  - avifIOCreateMemoryReader
  - avifIOFileReaderRead
  - avifIOFileReaderDestroy
  - avifIOCreateFileReader
  source_file: /src/libavif/src/io.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: io
        type: avifIO
      - name: rodata
        type: avifROData
      item_type: struct
      name: avifIOMemoryReader
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/libavif/src/io.c
    - fields:
      - name: io
        type: avifIO
      - name: buffer
        type: avifRWData
      - name: '* f'
        type: FILE
      item_type: struct
      name: avifIOFileReader
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/libavif/src/io.c
    typedefs: []
    union: []
- function_names:
  - avifRoundf
  - avifHTONS
  - avifNTOHS
  - avifCTOHS
  - avifHTONL
  - avifNTOHL
  - avifCTOHL
  - avifHTON64
  - avifNTOH64
  - avifArrayCreate
  - avifArrayPush
  - avifArrayPop
  - avifArrayDestroy
  - calcGCD
  - avifFractionSimplify
  - overflowsInt32
  - avifFractionCD
  - avifFractionAdd
  - avifFractionSub
  - avifDoubleToUnsignedFractionImpl
  - avifDoubleToSignedFraction
  - avifDoubleToUnsignedFraction
  source_file: /src/libavif/src/utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifAlloc
  - avifFree
  source_file: /src/libavif/src/mem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifGetCodecType
  - avifGetConfigurationPropertyName
  - avifPropertyArrayFind
  - avifSampleTableCreate
  - avifPropertyArrayDestroy
  - avifSampleTableDestroy
  - avifSampleTableGetImageDelta
  - avifSampleTableGetCodecType
  - avifCodecConfigurationBoxGetDepth
  - avifCodecConfigurationBoxGetSubsamplingType
  - avifSubsamplingLocationToChromaSamplePosition
  - avifSampleTableGetProperties
  - avifCodecDecodeInputCreate
  - avifCodecDecodeInputDestroy
  - avifGetSampleCountOfChunk
  - avifCodecDecodeInputFillFromSampleTable
  - avifCodecDecodeInputFillFromDecoderItem
  - BEGIN_STREAM
  - uniqueBoxSeen
  - avifMetaCreate
  - avifMetaDestroy
  - avifCheckItemID
  - avifMetaFindOrCreateItem
  - avifDecoderDataCreate
  - avifDecoderDataResetCodec
  - avifDecoderDataCreateTile
  - avifDecoderDataCreateTrack
  - avifDecoderDataClearTiles
  - avifDecoderDataDestroy
  - avifDecoderItemMaxExtent
  - avifDecoderItemOperatingPoint
  - avifDecoderItemValidateProperties
  - avifDecoderItemRead
  - avifDecoderItemGetGridCodecType
  - avifFillDimgIdxToItemIdxArray
  - avifDecoderAdoptGridTileCodecType
  - avifDecoderAdoptGridTileCodecTypeIfNeeded
  - avifDecoderGenerateImageGridTiles
  - avifDecoderDataAllocateImagePlanes
  - avifDecoderDataCopyTileToImage
  - avifDecoderFindMetadata
  - isAlphaURN
  - avifParseHandlerBox
  - avifParseItemLocationBox
  - avifParseImageGridBox
  - avifParseGainMapMetadata
  - avifParseToneMappedImageBox
  - avifParseSampleTransformTokens
  - avifParseSampleTransformImageBox
  - avifDecoderItemCodecConfigOrFirstCellCodecConfig
  - avifDecoderSampleTransformItemValidateProperties
  - avifDecoderItemReadAndParse
  - avifParseImageSpatialExtentsProperty
  - avifParseAuxiliaryTypeProperty
  - avifParseColourInformationBox
  - avifParseContentLightLevelInformation
  - avifParseContentLightLevelInformationBox
  - avifSkipMasteringDisplayColourVolume
  - avifSkipContentColourVolume
  - avifSkipAmbientViewingEnvironment
  - avifSkipReferenceViewingEnvironment
  - avifSkipNominalDiffuseWhite
  - avifParseMiniHDRProperties
  - avifParseCodecConfiguration
  - avifParseCodecConfigurationBoxProperty
  - avifParsePixelAspectRatioBoxProperty
  - avifParseCleanApertureBoxProperty
  - avifParseImageRotationProperty
  - avifParseImageMirrorProperty
  - avifParsePixelInformationProperty
  - avifParseOperatingPointSelectorProperty
  - avifParseLayerSelectorProperty
  - avifParseAV1LayeredImageIndexingProperty
  - avifParseItemPropertyContainerBox
  - avifParseItemPropertyAssociation
  - avifParsePrimaryItemBox
  - avifParseItemDataBox
  - avifParseItemPropertiesBox
  - avifParseItemInfoEntry
  - avifParseItemInfoBox
  - avifParseItemReferenceBox
  - avifParseGroupsListBox
  - avifParseMetaBox
  - avifParseTrackHeaderBox
  - avifParseMediaHeaderBox
  - avifParseChunkOffsetBox
  - avifParseSampleToChunkBox
  - avifParseSampleSizeBox
  - avifParseSyncSampleBox
  - avifParseTimeToSampleBox
  - avifParseSampleDescriptionBox
  - avifParseSampleTableBox
  - avifParseMediaInformationBox
  - avifParseMediaBox
  - avifTrackReferenceBox
  - avifParseEditListBox
  - avifParseEditBox
  - avifParseTrackBox
  - avifParseMovieBox
  - avifMetaCreateProperty
  - avifDecoderItemAddProperty
  - avifParseMinimizedImageBox
  - avifParseFileTypeBox
  - avifParse
  - avifFileTypeHasBrand
  - avifFileTypeIsCompatible
  - avifPeekCompatibleFileType
  - avifBrandArrayHasBrand
  - avifDecoderCreate
  - avifDecoderCleanup
  - avifDecoderDestroy
  - avifDecoderSetSource
  - avifDecoderSetIO
  - avifDecoderSetIOMemory
  - avifDecoderSetIOFile
  - avifExtentMerge
  - avifDecoderNthImageMaxExtent
  - avifDecoderPrepareSample
  - avifDecoderItemShouldBeSkipped
  - avifDecoderParse
  - avifCodecCreateInternal
  - avifTilesCanBeDecodedWithSameCodecInstance
  - avifDecoderCreateCodecs
  - avifMetaFindColorItem
  - avifDecoderItemIsAlphaAux
  - avifMetaFindAlphaItem
  - avifReadColorNclxProperty
  - avifReadColorProperties
  - avifDecoderDataFindToneMappedImageItem
  - avifIsPreferredAlternativeTo
  - avifDecoderFindGainMapItem
  - avifDecoderCheckAlphaProperties
  - avifDecoderCheckGainMapProperties
  - avifDecoderDataFindSampleTransformImageItem
  - avifDecoderGenerateImageTiles
  - avifReadCodecConfigProperty
  - avifDecoderReset
  - avifDecoderPrepareTiles
  - avifImageLimitedToFullAlpha
  - avifGetErrorForItemCategory
  - avifDecoderDecodeTiles
  - avifDecoderDataFrameFullyDecoded
  - avifDecoderApplySampleTransformForPlanesImpl
  - avifDecoderApplySampleTransformForPlanes
  - avifDecoderApplySampleTransform
  - avifDecoderNextImage
  - avifDecoderNthImageTiming
  - avifDecoderNthImage
  - avifDecoderIsKeyframe
  - avifDecoderNearestKeyframe
  - avifGetDecodedRowCount
  - avifDecoderDecodedRowCount
  - avifDecoderRead
  - avifDecoderReadMemory
  - avifDecoderReadFile
  source_file: /src/libavif/src/read.c
  types:
    enum:
    - enumerators:
      - name: AVIF_UNIQUE_ILOC
        value: '0'
      - name: AVIF_UNIQUE_IINF
      - name: AVIF_UNIQUE_IDAT
      - name: AVIF_UNIQUE_IPRP
      - name: AVIF_UNIQUE_PITM
      - name: AVIF_UNIQUE_IREF
      - name: AVIF_UNIQUE_GRPL
      item_type: enum
      name: avifUniqueBoxFlag
      pos:
        line_end: 750
        line_start: 741
        source_file: /src/libavif/src/read.c
    preproc_defs:
    - item_type: preproc_def
      name: AUXTYPE_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libavif/src/read.c
      type_or_value: '64'
    - item_type: preproc_def
      name: CONTENTTYPE_SIZE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libavif/src/read.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_IPMA_VERSION_AND_FLAGS_SEEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libavif/src/read.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_PIXI_PLANE_DEPTHS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libavif/src/read.c
      type_or_value: '4'
    structs:
    - fields:
      - name: majorBrand[4]
        type: uint8_t
      - name: minorVersion[4]
        type: uint8_t
      - name: '* compatibleBrands'
        type: uint8_t
      - name: compatibleBrandsCount
        type: int
      item_type: struct
      name: avifFileType
      pos:
        line_end: 86
        line_start: 79
        source_file: /src/libavif/src/read.c
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      item_type: struct
      name: avifImageSpatialExtents
      pos:
        line_end: 93
        line_start: 89
        source_file: /src/libavif/src/read.c
    - fields:
      - name: auxType[AUXTYPE_SIZE]
        type: char
      item_type: struct
      name: avifAuxiliaryType
      pos:
        line_end: 99
        line_start: 96
        source_file: /src/libavif/src/read.c
    - fields:
      - name: contentType[CONTENTTYPE_SIZE]
        type: char
      item_type: struct
      name: avifContentType
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/libavif/src/read.c
    - fields:
      - name: hasICC
        type: avifBool
      - name: iccOffset
        type: uint64_t
      - name: iccSize
        type: size_t
      - name: hasNCLX
        type: avifBool
      - name: colorPrimaries
        type: avifColorPrimaries
      - name: transferCharacteristics
        type: avifTransferCharacteristics
      - name: matrixCoefficients
        type: avifMatrixCoefficients
      - name: range
        type: avifRange
      item_type: struct
      name: avifColourInformationBox
      pos:
        line_end: 119
        line_start: 108
        source_file: /src/libavif/src/read.c
    - fields:
      - name: planeDepths[MAX_PIXI_PLANE_DEPTHS]
        type: uint8_t
      - name: planeCount
        type: uint8_t
      item_type: struct
      name: avifPixelInformationProperty
      pos:
        line_end: 132
        line_start: 122
        source_file: /src/libavif/src/read.c
    - fields:
      - name: opIndex
        type: uint8_t
      item_type: struct
      name: avifOperatingPointSelectorProperty
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/libavif/src/read.c
    - fields:
      - name: layerID
        type: uint16_t
      item_type: struct
      name: avifLayerSelectorProperty
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/libavif/src/read.c
    - fields:
      - name: layerSize[3]
        type: uint32_t
      item_type: struct
      name: avifAV1LayeredImageIndexingProperty
      pos:
        line_end: 147
        line_start: 144
        source_file: /src/libavif/src/read.c
    - fields:
      - name: usertype[16]
        type: uint8_t
      - name: boxPayload
        type: avifRWData
      item_type: struct
      name: avifOpaqueProperty
      pos:
        line_end: 153
        line_start: 149
        source_file: /src/libavif/src/read.c
    - fields:
      - name: groupingType[4]
        type: uint8_t
      - name: groupID
        type: uint32_t
      - name: entityIDs
        type: avifCodecEntityIDs
      item_type: struct
      name: avifEntityToGroup
      pos:
        line_end: 164
        line_start: 159
        source_file: /src/libavif/src/read.c
    - fields:
      - name: type[4]
        type: uint8_t
      - name: isOpaque
        type: avifBool
      - name: u
        type: "union\n    {\n        avifImageSpatialExtents ispe;\n        avifAuxiliaryType
          auxC; // Contents of 'auxC' for items, or 'auxi' for tracks\n        avifColourInformationBox
          colr;\n        avifCodecConfigurationBox av1C; // TODO(yguyon): Rename or
          add av2C\n        avifPixelAspectRatioBox pasp;\n        avifCleanApertureBox
          clap;\n        avifImageRotation irot;\n        avifImageMirror imir;\n
          \       avifPixelInformationProperty pixi;\n        avifOperatingPointSelectorProperty
          a1op;\n        avifLayerSelectorProperty lsel;\n        avifAV1LayeredImageIndexingProperty
          a1lx;\n        avifContentLightLevelInformationBox clli;\n        avifOpaqueProperty
          opaque;\n    }"
      item_type: struct
      name: avifProperty
      pos:
        line_end: 194
        line_start: 173
        source_file: /src/libavif/src/read.c
    - fields:
      - name: id
        type: uint32_t
      - name: '* meta'
        type: struct avifMeta
      - name: type[4]
        type: uint8_t
      - name: size
        type: size_t
      - name: idatStored
        type: avifBool
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: contentType
        type: avifContentType
      - name: properties
        type: avifPropertyArray
      - name: extents
        type: avifExtentArray
      - name: mergedExtents
        type: avifRWData
      - name: ownsMergedExtents
        type: avifBool
      - name: partialMergedExtents
        type: avifBool
      - name: thumbnailForID
        type: uint32_t
      - name: auxForID
        type: uint32_t
      - name: descForID
        type: uint32_t
      - name: dimgForID
        type: uint32_t
      - name: dimgIdx
        type: uint32_t
      - name: hasDimgFrom
        type: avifBool
      - name: premByID
        type: uint32_t
      - name: hasUnsupportedEssentialProperty
        type: avifBool
      - name: ipmaSeen
        type: avifBool
      - name: progressive
        type: avifBool
      item_type: struct
      name: avifDecoderItem
      pos:
        line_end: 241
        line_start: 212
        source_file: /src/libavif/src/read.c
    - fields:
      - name: rows
        type: uint32_t
      - name: columns
        type: uint32_t
      - name: outputWidth
        type: uint32_t
      - name: outputHeight
        type: uint32_t
      item_type: struct
      name: avifImageGrid
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/libavif/src/read.c
    - fields:
      - name: offset
        type: uint64_t
      item_type: struct
      name: avifSampleTableChunk
      pos:
        line_end: 259
        line_start: 256
        source_file: /src/libavif/src/read.c
    - fields:
      - name: firstChunk
        type: uint32_t
      - name: samplesPerChunk
        type: uint32_t
      - name: sampleDescriptionIndex
        type: uint32_t
      item_type: struct
      name: avifSampleTableSampleToChunk
      pos:
        line_end: 267
        line_start: 262
        source_file: /src/libavif/src/read.c
    - fields:
      - name: size
        type: uint32_t
      item_type: struct
      name: avifSampleTableSampleSize
      pos:
        line_end: 273
        line_start: 270
        source_file: /src/libavif/src/read.c
    - fields:
      - name: sampleCount
        type: uint32_t
      - name: sampleDelta
        type: uint32_t
      item_type: struct
      name: avifSampleTableTimeToSample
      pos:
        line_end: 280
        line_start: 276
        source_file: /src/libavif/src/read.c
    - fields:
      - name: sampleNumber
        type: uint32_t
      item_type: struct
      name: avifSyncSample
      pos:
        line_end: 286
        line_start: 283
        source_file: /src/libavif/src/read.c
    - fields:
      - name: format[4]
        type: uint8_t
      - name: properties
        type: avifPropertyArray
      item_type: struct
      name: avifSampleDescription
      pos:
        line_end: 293
        line_start: 289
        source_file: /src/libavif/src/read.c
    - fields:
      - name: chunks
        type: avifSampleTableChunkArray
      - name: sampleDescriptions
        type: avifSampleDescriptionArray
      - name: sampleToChunks
        type: avifSampleTableSampleToChunkArray
      - name: sampleSizes
        type: avifSampleTableSampleSizeArray
      - name: timeToSamples
        type: avifSampleTableTimeToSampleArray
      - name: syncSamples
        type: avifSyncSampleArray
      - name: allSamplesSize
        type: uint32_t
      item_type: struct
      name: avifSampleTable
      pos:
        line_end: 305
        line_start: 296
        source_file: /src/libavif/src/read.c
    - fields:
      - name: id
        type: uint32_t
      - name: handlerType[4]
        type: uint8_t
      - name: auxForID
        type: uint32_t
      - name: premByID
        type: uint32_t
      - name: mediaTimescale
        type: uint32_t
      - name: mediaDuration
        type: uint64_t
      - name: trackDuration
        type: uint64_t
      - name: segmentDuration
        type: uint64_t
      - name: isRepeating
        type: avifBool
      - name: repetitionCount
        type: int
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: '* sampleTable'
        type: avifSampleTable
      - name: '* meta'
        type: struct avifMeta
      item_type: struct
      name: avifTrack
      pos:
        line_end: 472
        line_start: 456
        source_file: /src/libavif/src/read.c
    - fields:
      - name: '* input'
        type: avifCodecDecodeInput
      - name: codecType
        type: avifCodecType
      - name: '* codec'
        type: struct avifCodec
      - name: '* image'
        type: avifImage
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: operatingPoint
        type: uint8_t
      item_type: struct
      name: avifTile
      pos:
        line_end: 787
        line_start: 776
        source_file: /src/libavif/src/read.c
    - fields:
      - name: items
        type: avifDecoderItemArray
      - name: properties
        type: avifPropertyArray
      - name: idat
        type: avifRWData
      - name: idatID
        type: uint32_t
      - name: primaryItemID
        type: uint32_t
      - name: entityToGroups
        type: avifEntityToGroups
      - name: sampleTransformExpression
        type: avifSampleTransformExpression
      - name: sampleTransformDepth
        type: uint32_t
      item_type: struct
      name: avifMeta
      pos:
        line_end: 845
        line_start: 795
        source_file: /src/libavif/src/read.c
    - fields:
      - name: tileCount
        type: unsigned int
      - name: decodedTileCount
        type: unsigned int
      - name: firstTileIndex
        type: unsigned int
      - name: grid
        type: avifImageGrid
      item_type: struct
      name: avifTileInfo
      pos:
        line_end: 950
        line_start: 944
        source_file: /src/libavif/src/read.c
    - fields:
      - name: '* meta'
        type: avifMeta
      - name: tracks
        type: avifTrackArray
      - name: tiles
        type: avifTileArray
      - name: tileInfos[AVIF_ITEM_CATEGORY_COUNT]
        type: avifTileInfo
      - name: source
        type: avifDecoderSource
      - name: '* codec'
        type: avifCodec
      - name: '* codecAlpha'
        type: avifCodec
      - name: majorBrand[4]
        type: uint8_t
      - name: compatibleBrands
        type: avifBrandArray
      - name: '* diag'
        type: avifDiagnostics
      - name: '* sourceSampleTable'
        type: avifSampleTable
      - name: cicpSet
        type: avifBool
      - name: sampleTransformNumInputImageItems
        type: uint8_t
      - name: sampleTransformInputImageItems[AVIF_SAMPLE_TRANSFORM_MAX_NUM_INPUT_IMAGE_ITEMS]
        type: avifItemCategory
      item_type: struct
      name: avifDecoderData
      pos:
        line_end: 988
        line_start: 952
        source_file: /src/libavif/src/read.c
    typedefs:
    - item_type: typedef
      name: avifBrand[4]
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/libavif/src/read.c
      type: uint8_t
    union: []
- function_names:
  - avifDiagnosticsClearError
  - avifDiagnosticsPrintf
  source_file: /src/libavif/src/diag.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifGetExifTiffHeaderOffset
  - avifGetExifOrientationOffset
  - avifImageExtractExifOrientationToIrotImir
  - avifImageIrotImirToExifOrientation
  - avifImageSetMetadataExif
  source_file: /src/libavif/src/exif.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifBitsReadPos
  - avifBitsInit
  - avifBitsRefill
  - avifBitsRead
  - avifBitsReadUleb128
  - avifBitsReadVLC
  - avifBitsReadRG
  - parseSequenceHeaderLevelIdxAndTier
  - parseSequenceHeaderFrameMaxDimensions
  - parseSequenceHeaderEnabledFeatures
  - parseAV1SequenceHeaderColorConfig
  - av2ChromaSamplePositionToAv1ChromaSamplePosition
  - parseAV2ChromaFormatBitdepth
  - parseAV1SequenceHeader
  - parseAV2SequenceHeader
  - parseAV2ContentInterpretation
  - av1SequenceHeaderParse
  - av2SequenceHeaderParse
  - avifSequenceHeaderParse
  source_file: /src/libavif/src/obu.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: error
        type: int
      - name: state
        type: uint64_t
      - name: bitsLeft
        type: uint32_t
      - name: '*ptr'
        type: uint8_t
      item_type: struct
      name: avifBits
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/libavif/src/obu.c
    typedefs: []
    union: []
- function_names:
  - DAV1D_ERR
  - avifDav1dFreeCallback
  - avifDav1dLogCallback
  - dav1dCodecDestroyInternal
  - dav1dCodecGetNextImage
  - avifCodecVersionDav1d
  - avifCodecCreateDav1d
  source_file: /src/libavif/src/codec_dav1d.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* dav1dContext'
        type: Dav1dContext
      - name: dav1dPicture
        type: Dav1dPicture
      - name: hasPicture
        type: avifBool
      - name: colorRange
        type: avifRange
      item_type: struct
      name: avifCodecInternal
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/libavif/src/codec_dav1d.c
    typedefs: []
    union: []
- function_names:
  - avifFillAlpha
  - avifReformatAlpha
  - avifRGBImagePremultiplyAlpha
  - avifRGBImageUnpremultiplyAlpha
  source_file: /src/libavif/src/alpha.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifROStreamCurrent
  - avifROStreamStart
  - avifROStreamHasBytesLeft
  - avifROStreamRemainingBytes
  - avifROStreamOffset
  - avifROStreamSetOffset
  - avifROStreamSkip
  - avifROStreamRead
  - avifROStreamReadUX8
  - avifROStreamReadU16
  - avifROStreamReadU16Endianness
  - avifROStreamReadU32
  - avifROStreamReadU32Endianness
  - avifROStreamReadU64
  - avifROStreamSkipBits
  - avifROStreamReadBitsU8
  - avifROStreamReadBitsU16
  - avifROStreamReadBitsU32
  - avifROStreamReadString
  - avifROStreamReadBoxHeaderPartial
  - avifROStreamReadBoxHeader
  - avifROStreamReadVersionAndFlags
  - avifROStreamReadAndEnforceVersion
  - makeRoom
  - avifRWStreamStart
  - avifRWStreamOffset
  - avifRWStreamSetOffset
  - avifRWStreamFinishWrite
  - avifRWStreamWrite
  - avifRWStreamWriteChars
  - avifRWStreamWriteFullBox
  - avifRWStreamWriteBox
  - avifRWStreamFinishBox
  - avifRWStreamWriteU8
  - avifRWStreamWriteU16
  - avifRWStreamWriteU32
  - avifRWStreamWriteU64
  - avifRWStreamWriteZeros
  - avifRWStreamWriteBits
  source_file: /src/libavif/src/stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_STREAM_BUFFER_INCREMENT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libavif/src/stream.c
      type_or_value: (1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifMemset16
  - avifGetRGBColorSpaceInfo
  - avifGetYUVColorSpaceInfo
  - avifPrepareReformatState
  - avifYUVColorSpaceInfoYToUNorm
  - avifYUVColorSpaceInfoUVToUNorm
  - avifImageRGBToYUV
  - avifCreateYUVToRGBLookUpTables
  - avifFreeYUVToRGBLookUpTables
  - RGB565
  - avifStoreRGB8Pixel
  - avifGetRGB565
  - avifImageYUVAnyToRGBAnySlow
  - avifImageYUV16ToRGB16Color
  - avifImageYUV16ToRGB16Mono
  - avifImageYUV16ToRGB8Color
  - avifImageYUV16ToRGB8Mono
  - avifImageYUV8ToRGB16Color
  - avifImageYUV8ToRGB16Mono
  - avifImageIdentity8ToRGB8ColorFullRange
  - avifImageYUV8ToRGB8Color
  - avifImageYUV8ToRGB8Mono
  - avifRGBImageToF16
  - avifImageYUVToRGBImpl
  - avifImageYUVToRGBThreadWorker
  - avifCreateYUVToRGBThread
  - avifJoinYUVToRGBThread
  - avifImageYUVToRGB
  - LIMITED_TO_FULL
  - FULL_TO_LIMITED
  - avifLimitedToFullY
  - avifLimitedToFullUV
  - avifFullToLimitedY
  - avifFullToLimitedUV
  - avifFloatToF16
  - avifF16ToFloat
  - avifGetRGBAPixel
  - avifSetRGBAPixel
  source_file: /src/libavif/src/reformat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F16_MULTIPLIER
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/libavif/src/reformat.c
      type_or_value: 1.9259299444e-34f
    structs:
    - fields:
      - name: y
        type: float
      - name: u
        type: float
      - name: v
        type: float
      item_type: struct
      name: YUVBlock
      pos:
        line_end: 29
        line_start: 24
        source_file: /src/libavif/src/reformat.c
    - fields:
      - name: image
        type: avifImage
      - name: rgb
        type: avifRGBImage
      - name: '* state'
        type: avifReformatState
      - name: alphaMultiplyMode
        type: avifAlphaMultiplyMode
      - name: result
        type: avifResult
      - name: threadCreated
        type: avifBool
      item_type: struct
      name: YUVToRGBThreadData
      pos:
        line_end: 1602
        line_start: 1589
        source_file: /src/libavif/src/reformat.c
    typedefs: []
    union:
    - fields:
      - name: f
        type: float
      - name: u32
        type: uint32_t
      item_type: union
      name: avifF16
      pos:
        line_end: 1411
        line_start: 1407
        source_file: /src/libavif/src/reformat.c
- function_names:
  - avifColorPrimariesGetValues
  - matchesTo3RoundedPlaces
  - primariesMatch
  - avifColorPrimariesFind
  - avifTransferCharacteristicsGetGamma
  - avifTransferCharacteristicsFindByGamma
  - calcYUVInfoFromCICP
  - avifCalcYUVCoefficients
  - avifToLinear709
  - avifToGamma709
  - avifToLinear470M
  - avifToGamma470M
  - avifToLinear470BG
  - avifToGamma470BG
  - avifToLinearSMPTE240
  - avifToGammaSMPTE240
  - avifToGammaLinear
  - avifToLinearLog100
  - avifToGammaLog100
  - avifToLinearLog100Sqrt10
  - avifToGammaLog100Sqrt10
  - avifToLinearIEC61966
  - avifToGammaIEC61966
  - avifToLinearBT1361
  - avifToGammaBT1361
  - avifToLinearSRGB
  - avifToGammaSRGB
  - avifToLinearPQ
  - avifToGammaPQ
  - avifToLinearSMPTE428
  - avifToGammaSMPTE428
  - avifToLinearHLG
  - avifToGammaHLG
  - avifTransferCharacteristicsGetGammaToLinearFunction
  - avifTransferCharacteristicsGetLinearToGammaFunction
  - avifColorPrimariesComputeYCoeffs
  source_file: /src/libavif/src/colr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PQ_MAX_NITS
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/libavif/src/colr.c
      type_or_value: 10000.0f
    - item_type: preproc_def
      name: HLG_PEAK_LUMINANCE_NITS
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libavif/src/colr.c
      type_or_value: 1000.0f
    - item_type: preproc_def
      name: SDR_WHITE_NITS
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libavif/src/colr.c
      type_or_value: 203.0f
    structs:
    - fields:
      - name: colorPrimariesEnum
        type: avifColorPrimaries
      - name: '* name'
        type: char
      - name: primaries[8]
        type: float
      item_type: struct
      name: avifColorPrimariesTable
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/libavif/src/colr.c
    - fields:
      - name: matrixCoefficientsEnum
        type: avifMatrixCoefficients
      - name: '* name'
        type: char
      - name: kr
        type: float
      - name: kb
        type: float
      item_type: struct
      name: avifMatrixCoefficientsTable
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/libavif/src/colr.c
    - fields:
      - name: transferCharacteristicsEnum
        type: avifTransferCharacteristics
      - name: '* name'
        type: char
      - name: toLinear
        type: avifTransferFunction
      - name: toGamma
        type: avifTransferFunction
      item_type: struct
      name: avifTransferCharacteristicsTable
      pos:
        line_end: 213
        line_start: 207
        source_file: /src/libavif/src/colr.c
    typedefs: []
    union: []
- function_names:
  - LOGE
  - FUNC
  - AvifDecoderWrapper
  - AvifDecoderWrapper
  - '& operator=(const AvifDecoderWrapper&)'
  - ~AvifDecoderWrapper()
  - CreateDecoderAndParse
  - AvifImageToBitmap
  - DecodeNextImage
  - DecodeNthImage
  - getThreadCount
  - JniExceptionCheck
  - AvifDecoderWrapper
  - AvifDecoderWrapper
  - '& operator=(const AvifDecoderWrapper&)'
  - ~AvifDecoderWrapper()
  - CreateDecoderAndParse
  - AvifImageToBitmap
  - DecodeNextImage
  - DecodeNthImage
  - getThreadCount
  - JniExceptionCheck
  - JNI_OnLoad
  - FUNC
  - CHECK_EXCEPTION
  - FIND_CLASS
  - GET_FIELD_ID
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  - FUNC
  source_file: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_TAG
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
      type_or_value: '"avif_jni"'
    - item_type: preproc_def
      name: IGNORE_UNUSED_JNI_PARAMETERS
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
      type_or_value: "(void) env; \\\n  (void) thiz"
    structs:
    - fields:
      - name: '* decoder'
        type: avifDecoder
      - name: crop
        type: avifCropRect
      item_type: struct
      name: AvifDecoderWrapper
      pos:
        line_end: 50
        line_start: 35
        source_file: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    - fields:
      - name: '* decoder'
        type: avifDecoder
      - name: crop
        type: avifCropRect
      item_type: struct
      name: AvifDecoderWrapper
      pos:
        line_end: 50
        line_start: 35
        source_file: /src/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc
    typedefs: []
    union: []
- function_names:
  - NEXTARG
  - syntax
  - avifWriteToFile
  - main
  source_file: /src/libavif/apps/avifdec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_JPEG_QUALITY
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libavif/apps/avifdec.c
      type_or_value: '90'
    - item_type: preproc_def
      name: DECODE_ALL_FRAMES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libavif/apps/avifdec.c
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NEXTARG
  - intSettingsEntryOf
  - boolSettingsEntryOf
  - scalingModeSettingsEntryOf
  - avifPrettyFilename
  - syntaxShort
  - syntaxLong
  - qualityString
  - parseU32List
  - parseOptionSuffix
  - strpre
  - convertCropToClap
  - avifInputAddCachedImage
  - fileExists
  - avifInputGetFile
  - avifInputHasRemainingData
  - avifInputReadImage
  - avifStrdup
  - avifCodecSpecificOptionsAddKeyValue
  - avifCodecSpecificOptionsAdd
  - avifCodecSpecificOptionsFree
  - avifSettingsEntryIntOverwrite
  - avifInputFileSettingsOverwrite
  - avifEncodeUpdateEncoderSettings
  - avifEncoderVerifyImageCompatibility
  - avifEncodeRestOfImageSequence
  - avifEncodeRestOfLayeredImage
  - avifEncodeImagesFixedQuality
  - avifEncodeImages
  - avifInputAdd
  - quantizerToQuality
  - main
  source_file: /src/libavif/apps/avifenc.c
  types:
    enum:
    - enumerators:
      - name: AVIF_OPTION_SUFFIX_NONE
      - name: AVIF_OPTION_SUFFIX_INVALID
      - name: AVIF_OPTION_SUFFIX_UPDATE
      item_type: enum
      name: avifOptionSuffixType
      pos:
        line_end: 388
        line_start: 383
        source_file: /src/libavif/apps/avifenc.c
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_FILENAME_STDIN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: INVALID_QUALITY
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: DEFAULT_QUALITY
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: 60 // Maps to a quantizer (QP) of 25.
    - item_type: preproc_def
      name: DEFAULT_QUALITY_GAIN_MAP
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: DEFAULT_QUALITY
    - item_type: preproc_def
      name: PROGRESSIVE_WORST_QUALITY
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: 10 // Not doing automatic layered encoding below this quality
    - item_type: preproc_def
      name: PROGRESSIVE_START_QUALITY
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libavif/apps/avifenc.c
      type_or_value: 2  // First layer use this quality
    structs:
    - fields:
      - name: codecChoice
        type: avifCodecChoice
      - name: jobs
        type: int
      - name: targetSize
        type: int
      - name: qualityIsConstrained
        type: avifBool
      - name: qualityAlphaIsConstrained
        type: avifBool
      - name: overrideQuality
        type: int
      - name: overrideQualityAlpha
        type: int
      - name: progressive
        type: avifBool
      - name: layered
        type: avifBool
      - name: layers
        type: int
      - name: speed
        type: int
      - name: headerFormat
        type: avifHeaderFormatFlags
      - name: creationTime
        type: uint64_t
      - name: modificationTime
        type: uint64_t
      - name: paspPresent
        type: avifBool
      - name: paspValues[2]
        type: uint32_t
      - name: clapValid
        type: avifBool
      - name: clapValues[8]
        type: uint32_t
      - name: gridDimsPresent
        type: avifBool
      - name: gridDims[2]
        type: uint32_t
      - name: clliPresent
        type: avifBool
      - name: clliValues[2]
        type: uint32_t
      - name: repetitionCount
        type: int
      - name: keyframeInterval
        type: int
      - name: ignoreExif
        type: avifBool
      - name: ignoreXMP
        type: avifBool
      - name: ignoreColorProfile
        type: avifBool
      - name: qualityGainMapIsConstrained
        type: avifBool
      - name: qualityGainMap
        type: int
      - name: ignoreGainMap
        type: avifBool
      - name: outputTiming
        type: avifAppSourceTiming
      - name: cicpExplicitlySet
        type: avifBool
      - name: colorPrimaries
        type: avifColorPrimaries
      - name: transferCharacteristics
        type: avifTransferCharacteristics
      - name: matrixCoefficients
        type: avifMatrixCoefficients
      - name: chromaDownsampling
        type: avifChromaDownsampling
      - name: inputFormat
        type: avifAppFileFormat
      item_type: struct
      name: avifSettings
      pos:
        line_end: 79
        line_start: 30
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: '** keys'
        type: char
      - name: '** values'
        type: char
      - name: count
        type: int
      item_type: struct
      name: avifCodecSpecificOptions
      pos:
        line_end: 86
        line_start: 81
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: value
        type: int
      - name: set
        type: avifBool
      item_type: struct
      name: avifSettingsEntryInt
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: value
        type: avifScalingMode
      - name: set
        type: avifBool
      item_type: struct
      name: avifSettingsEntryScalingMode
      pos:
        line_end: 111
        line_start: 107
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: quality
        type: avifSettingsEntryInt
      - name: qualityAlpha
        type: avifSettingsEntryInt
      - name: minQuantizer
        type: avifSettingsEntryInt
      - name: maxQuantizer
        type: avifSettingsEntryInt
      - name: minQuantizerAlpha
        type: avifSettingsEntryInt
      - name: maxQuantizerAlpha
        type: avifSettingsEntryInt
      - name: tileRowsLog2
        type: avifSettingsEntryInt
      - name: tileColsLog2
        type: avifSettingsEntryInt
      - name: autoTiling
        type: avifSettingsEntryBool
      - name: scalingMode
        type: avifSettingsEntryScalingMode
      - name: codecSpecificOptions
        type: avifCodecSpecificOptions
      item_type: struct
      name: avifInputFileSettings
      pos:
        line_end: 138
        line_start: 124
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: '* filename'
        type: char
      - name: duration
        type: uint64_t
      - name: settings
        type: avifInputFileSettings
      item_type: struct
      name: avifInputFile
      pos:
        line_end: 154
        line_start: 149
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: fileIndex
        type: int
      - name: '* image'
        type: avifImage
      - name: '* settings'
        type: avifInputFileSettings
      - name: fileBitDepth
        type: uint32_t
      - name: fileIsRGB
        type: avifBool
      - name: sourceTiming
        type: avifAppSourceTiming
      item_type: struct
      name: avifInputCacheEntry
      pos:
        line_end: 164
        line_start: 156
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: '* files'
        type: avifInputFile
      - name: filesCount
        type: int
      - name: fileIndex
        type: int
      - name: '* frameIter'
        type: struct y4mFrameIterator
      - name: requestedFormat
        type: avifPixelFormat
      - name: requestedDepth
        type: int
      - name: requestedDepthExtension
        type: int
      - name: cacheEnabled
        type: avifBool
      - name: '* cache'
        type: avifInputCacheEntry
      - name: cacheCount
        type: int
      item_type: struct
      name: avifInput
      pos:
        line_end: 179
        line_start: 166
        source_file: /src/libavif/apps/avifenc.c
    - fields:
      - name: colorSizeBytes
        type: size_t
      - name: alphaSizeBytes
        type: size_t
      - name: gainMapSizeBytes
        type: size_t
      item_type: struct
      name: avifEncodedByteSizes
      pos:
        line_end: 186
        line_start: 181
        source_file: /src/libavif/apps/avifenc.c
    typedefs:
    - item_type: typedef
      name: avifSettingsEntryBool
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/libavif/apps/avifenc.c
      type: avifSettingsEntryInt
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/avifexif.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AVIF_MIN
  - AVIF_MAX
  - my_error_exit
  - avifJPEGCopyPixels
  - avifJPEGHasCompatibleMatrixCoefficients
  - avifJPEGReadCopy
  - avifJPEGReadUint32BigEndian
  - avifJPEGFindSubstr
  - AVIF_CHECK
  - avifJPEGReadUint32LittleEndian
  - avifJPEGReadUint16BigEndian
  - avifJPEGReadUint16LittleEndian
  - avifJPEGReadBytes
  - avifJPEGReadU32
  - avifJPEGReadS32
  - avifJPEGReadU16
  - avifGetExifAppleHeadroom
  - avifJPEGFindMpfSegmentOffset
  - avifJPEGFindXMLNodeByName
  - avifJPEGFindIsoGainMapXMPNode
  - avifJPEGFindAppleGainMapXMPNode
  - avifJPEGFindGainMapXMPNode
  - avifJPEGHasGainMapXMPNode
  - avifJPEGFindGainMapProperty
  - avifJPEGFindGainMapPropertyDoubles
  - SwapDoubles
  - avifJPEGParseGainMapXMPPropertiesAppleFormat
  - avifJPEGParseGainMapXMPProperties
  - avifJPEGParseGainMapXMP
  - avifJPEGExtractGainMapImageFromMpf
  - hasMpfSegment
  - avifJPEGExtractGainMapImage
  - avifJPEGMergeXMP
  - avifJPEGReadInternal
  - avifJPEGRead
  - avifJPEGWrite
  source_file: /src/libavif/apps/shared/avifjpeg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_LIBJPEG_DCT_v_scaled_size
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: DCT_v_scaled_size
    - item_type: preproc_def
      name: AVIF_LIBJPEG_DCT_h_scaled_size
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: DCT_h_scaled_size
    - item_type: preproc_def
      name: AVIF_LIBJPEG_DCT_h_scaled_size
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: DCT_scaled_size
    - item_type: preproc_def
      name: AVIF_LIBJPEG_DCT_v_scaled_size
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: DCT_scaled_size
    - item_type: preproc_def
      name: AVIF_JPEG_MAX_MARKER_DATA_LENGTH
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '65533'
    - item_type: preproc_def
      name: AVIF_JPEG_EXIF_HEADER
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"Exif\0\0"'
    - item_type: preproc_def
      name: AVIF_JPEG_EXIF_HEADER_LENGTH
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '6'
    - item_type: preproc_def
      name: AVIF_JPEG_STANDARD_XMP_TAG
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://ns.adobe.com/xap/1.0/\0"'
    - item_type: preproc_def
      name: AVIF_JPEG_STANDARD_XMP_TAG_LENGTH
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '29'
    - item_type: preproc_def
      name: AVIF_JPEG_EXTENDED_XMP_TAG
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://ns.adobe.com/xmp/extension/\0"'
    - item_type: preproc_def
      name: AVIF_JPEG_EXTENDED_XMP_TAG_LENGTH
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '35'
    - item_type: preproc_def
      name: AVIF_EXIF_APPLE_MAKER_NOTES_HEADER
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"Apple iOS\0\0\1MM"'
    - item_type: preproc_def
      name: AVIF_EXIF_APPLE_MAKER_NOTES_HEADER_LENGTH
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '14'
    - item_type: preproc_def
      name: AVIF_JPEG_MPF_HEADER
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"MPF\0"'
    - item_type: preproc_def
      name: AVIF_JPEG_MPF_HEADER_LENGTH
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AVIF_JPEG_XMP_NOTE_TAG
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"xmpNote:HasExtendedXMP=\""'
    - item_type: preproc_def
      name: AVIF_JPEG_XMP_NOTE_TAG_LENGTH
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '24'
    - item_type: preproc_def
      name: AVIF_JPEG_ALTERNATIVE_XMP_NOTE_TAG
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"<xmpNote:HasExtendedXMP>"'
    - item_type: preproc_def
      name: AVIF_JPEG_ALTERNATIVE_XMP_NOTE_TAG_LENGTH
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '24'
    - item_type: preproc_def
      name: AVIF_JPEG_EXTENDED_XMP_GUID_LENGTH
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '32'
    - item_type: preproc_def
      name: AVIF_JPEG_OFFSET_TILL_EXTENDED_XMP
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: (AVIF_JPEG_EXTENDED_XMP_TAG_LENGTH + AVIF_JPEG_EXTENDED_XMP_GUID_LENGTH
        + 4 + 4)
    - item_type: preproc_def
      name: MAX_JPEG_SEGMENTS
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '100'
    - item_type: preproc_def
      name: XML_NAME_SPACE_GAIN_MAP
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://ns.adobe.com/hdr-gain-map/1.0/"'
    - item_type: preproc_def
      name: XML_NAME_SPACE_APPLE_GAIN_MAP
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://ns.apple.com/HDRGainMap/1.0/"'
    - item_type: preproc_def
      name: XML_NAME_SPACE_RDF
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://www.w3.org/1999/02/22-rdf-syntax-ns#"'
    - item_type: preproc_def
      name: XML_NAME_SPACE_XMP_NOTE
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '"http://ns.adobe.com/xmp/note/"'
    - item_type: preproc_def
      name: GAIN_MAP_PROPERTY_MAX_VALUES
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pub
        type: struct jpeg_error_mgr
      - name: setjmp_buffer
        type: jmp_buf
      item_type: struct
      name: my_error_mgr
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/libavif/apps/shared/avifjpeg.c
    typedefs:
    - item_type: typedef
      name: '* my_error_ptr'
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libavif/apps/shared/avifjpeg.c
      type: my_error_mgr
    union: []
- function_names:
  - readLittleEndianU32
  - writeLittleEndianU32
  - writeBigEndianU16
  - writeBigEndianU32
  - putS15Fixed16
  - putU8Fixed8
  - putColorant
  - xyToXYZ
  - matInv
  - matMul
  - matDiag
  - swap
  - matTrans
  - vecMul
  - computeMD5
  - avifGenerateRGBICC
  - avifGenerateGrayICC
  source_file: /src/libavif/apps/shared/iccmaker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifHexStringToBytes
  - avifCopyRawProfile
  - avifRemoveHeader
  - avifExtractExifAndXMP
  - avifSetPNGCicp
  - avifPNGReadUnknownChunk
  - avifPNGReadImpl
  - avifPNGRead
  - avifPNGWrite
  source_file: /src/libavif/apps/shared/avifpng.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* avif'
        type: avifImage
      - name: cicpChunkRead
        type: avifBool
      item_type: struct
      name: avifUnknownCicpChunkData
      pos:
        line_end: 218
        line_start: 214
        source_file: /src/libavif/apps/shared/avifpng.c
    typedefs: []
    union: []
- function_names:
  - y4mColorSpaceParse
  - y4mReadUnsignedInt
  - y4mFramerateParse
  - getHeaderString
  - y4mReadLine
  - y4mClampSamples
  - ADVANCE
  - y4mRead
  - y4mWrite
  source_file: /src/libavif/apps/shared/y4m.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Y4M_MAX_LINE_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libavif/apps/shared/y4m.c
      type_or_value: 2048 // Arbitrary limit. Y4M headers should be much smaller than
        this
    structs:
    - fields:
      - name: width
        type: int
      - name: height
        type: int
      - name: depth
        type: int
      - name: hasAlpha
        type: avifBool
      - name: format
        type: avifPixelFormat
      - name: range
        type: avifRange
      - name: chromaSamplePosition
        type: avifChromaSamplePosition
      - name: sourceTiming
        type: avifAppSourceTiming
      - name: '* inputFile'
        type: FILE
      - name: '* displayFilename'
        type: char
      item_type: struct
      name: y4mFrameIterator
      pos:
        line_end: 33
        line_start: 20
        source_file: /src/libavif/apps/shared/y4m.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/iccmaker.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/y4m.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/avifjpeg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/avifpng.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avifFileFormatToString
  - calcGCD
  - printClapFraction
  - avifImageDumpInternal
  - avifImageDump
  - avifContainerDump
  - avifPrintVersions
  - avifGuessFileFormat
  - avifGuessBufferFileFormat
  - avifReadImage
  - avifReadEntireFile
  - avifImageFixXMP
  - avifDumpDiagnostics
  - avifQueryCPUCount
  - avifQueryCPUCount
  - avifQueryCPUCount
  - avifQueryCPUCount
  - avifGetBestCellSize
  - avifImageSplitGrid
  - avifRGBImageSetViewRect
  - avifRGBImageRotate
  - avifRGBImageMirror
  - avifApplyTransforms
  source_file: /src/libavif/apps/shared/avifutil.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: format
        type: avifAppFileFormat
      - name: '* magic'
        type: uint8_t
      - name: magicSize
        type: size_t
      item_type: struct
      name: avifHeaderSignature
      pos:
        line_end: 293
        line_start: 288
        source_file: /src/libavif/apps/shared/avifutil.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/shared/avifutil.h
  types:
    enum:
    - enumerators:
      - name: AVIF_APP_FILE_FORMAT_UNKNOWN
        value: '0'
      - name: AVIF_APP_FILE_FORMAT_Y4M
      - name: AVIF_APP_FILE_FORMAT_JPEG
      - name: AVIF_APP_FILE_FORMAT_PNG
      - name: AVIF_APP_FILE_FORMAT_AVIF
      item_type: enum
      name: avifAppFileFormat
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/libavif/apps/shared/avifutil.h
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_FMT_ZU
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libavif/apps/shared/avifutil.h
      type_or_value: '"Iu"'
    - item_type: preproc_def
      name: AVIF_FMT_ZU
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libavif/apps/shared/avifutil.h
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: AVIF_APP_DEFAULT_PIXEL_FORMAT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libavif/apps/shared/avifutil.h
      type_or_value: AVIF_PIXEL_FORMAT_YUV444
    structs:
    - fields:
      - name: duration
        type: uint64_t
      - name: timescale
        type: uint64_t
      item_type: struct
      name: avifAppSourceTiming
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/libavif/apps/shared/avifutil.h
    typedefs: []
    union: []
- function_names:
  - avifImageGetExifOrientationFromIrotImir
  - avifSetExifOrientation
  source_file: /src/libavif/apps/shared/avifexif.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/imageio.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::ExtractGainMapCommand::ExtractGainMapCommand
  - avif::ExtractGainMapCommand::Run
  - avif::ExtractGainMapCommand::ExtractGainMapCommand
  - avif::ExtractGainMapCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/extractgainmap_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::CombineCommand::CombineCommand
  - avif::CombineCommand::Run
  - avif::CombineCommand::CombineCommand
  - avif::CombineCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/combine_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/tonemap_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::FormatFraction
  - avif::FormatFractions
  - avif::FormatFraction
  - avif::FormatFractions
  - avif::PrintMetadataCommand::PrintMetadataCommand
  - avif::PrintMetadataCommand::Run
  - avif::FormatFraction
  - avif::FormatFractions
  - avif::FormatFraction
  - avif::FormatFractions
  - avif::PrintMetadataCommand::PrintMetadataCommand
  - avif::PrintMetadataCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/printmetadata_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::ConvertCommand::ConvertCommand
  - avif::ConvertCommand::Run
  - avif::ConvertCommand::ConvertCommand
  - avif::ConvertCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/convert_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/convert_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::Clamp
  - avif::WriteImage
  - avif::WriteAvif
  - avif::WriteAvifGrid
  - avif::ReadImage
  - avif::ReadAvif
  - avif::Clamp
  - avif::WriteImage
  - avif::WriteAvif
  - avif::WriteAvifGrid
  - avif::ReadImage
  - avif::ReadAvif
  source_file: /src/libavif/apps/avifgainmaputil/imageio.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/combine_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/extractgainmap_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~ProgramCommand()
  - avif::ProgramCommand::name
  - avif::ProgramCommand::short_description
  - avif::Init
  - avif::Init
  - avif::ParseList
  - ~ProgramCommand()
  - avif::ProgramCommand::name
  - avif::ProgramCommand::short_description
  - avif::Init
  - avif::Init
  - avif::ParseList
  source_file: /src/libavif/apps/avifgainmaputil/program_command.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<int>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: PixelFormatConverter
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: color_primaries
        type: avifColorPrimaries
      - name: transfer_characteristics
        type: avifTransferCharacteristics
      - name: matrix_coefficients
        type: avifMatrixCoefficients
      item_type: struct
      name: CicpValues
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<CicpValues>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: CicpConverter
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: "from_str(\n      const std::string& str)"
        type: argparse::ConvertedValue<avifContentLightLevelInformationBox>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: ClliConverter
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: grid_cols
        type: int
      - name: grid_rows
        type: int
      item_type: struct
      name: GridOptions
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<GridOptions>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: GridOptionsConverter
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: speed
        type: argparse::ArgValue<int>
      - name: quality
        type: argparse::ArgValue<int>
      - name: quality_alpha
        type: argparse::ArgValue<int>
      - name: grid
        type: argparse::ArgValue<GridOptions>
      item_type: struct
      name: BasicImageEncodeArgs
      pos:
        line_end: 121
        line_start: 95
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: depth
        type: argparse::ArgValue<int>
      - name: pixel_format
        type: argparse::ArgValue<int>
      - name: ignore_profile
        type: argparse::ArgValue<bool>
      item_type: struct
      name: ImageReadArgs
      pos:
        line_end: 143
        line_start: 124
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<int>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: PixelFormatConverter
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: color_primaries
        type: avifColorPrimaries
      - name: transfer_characteristics
        type: avifTransferCharacteristics
      - name: matrix_coefficients
        type: avifMatrixCoefficients
      item_type: struct
      name: CicpValues
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<CicpValues>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: CicpConverter
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: "from_str(\n      const std::string& str)"
        type: argparse::ConvertedValue<avifContentLightLevelInformationBox>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: ClliConverter
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: grid_cols
        type: int
      - name: grid_rows
        type: int
      item_type: struct
      name: GridOptions
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: from_str(const std::string& str)
        type: argparse::ConvertedValue<GridOptions>
      - name: default_choices()
        type: std::vector<std::string>
      item_type: struct
      name: GridOptionsConverter
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: speed
        type: argparse::ArgValue<int>
      - name: quality
        type: argparse::ArgValue<int>
      - name: quality_alpha
        type: argparse::ArgValue<int>
      - name: grid
        type: argparse::ArgValue<GridOptions>
      item_type: struct
      name: BasicImageEncodeArgs
      pos:
        line_end: 121
        line_start: 95
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    - fields:
      - name: depth
        type: argparse::ArgValue<int>
      - name: pixel_format
        type: argparse::ArgValue<int>
      - name: ignore_profile
        type: argparse::ArgValue<bool>
      item_type: struct
      name: ImageReadArgs
      pos:
        line_end: 143
        line_start: 124
        source_file: /src/libavif/apps/avifgainmaputil/program_command.h
    typedefs: []
    union: []
- function_names:
  - avif::ProgramCommand::ProgramCommand
  - avif::ProgramCommand::ParseArgs
  - avif::ProgramCommand::PrintUsage
  - avif::PixelFormatConverter::from_str
  - avif::PixelFormatConverter::default_choices
  - avif::CicpConverter::from_str
  - avif::CicpConverter::default_choices
  - avif::ClliConverter::from_str
  - avif::ClliConverter::default_choices
  - avif::GridOptionsConverter::from_str
  - avif::GridOptionsConverter::default_choices
  - avif::ProgramCommand::ProgramCommand
  - avif::ProgramCommand::ParseArgs
  - avif::ProgramCommand::PrintUsage
  - avif::PixelFormatConverter::from_str
  - avif::PixelFormatConverter::default_choices
  - avif::CicpConverter::from_str
  - avif::CicpConverter::default_choices
  - avif::ClliConverter::from_str
  - avif::ClliConverter::default_choices
  - avif::GridOptionsConverter::from_str
  - avif::GridOptionsConverter::default_choices
  source_file: /src/libavif/apps/avifgainmaputil/program_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::ChangeBase
  - avif::SwapBaseCommand::SwapBaseCommand
  - avif::SwapBaseCommand::Run
  - avif::ChangeBase
  - avif::SwapBaseCommand::SwapBaseCommand
  - avif::SwapBaseCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/swapbase_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/swapbase_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::HelpCommand::HelpCommand
  - avif::HelpCommand::Run
  - avif::PrintUsage
  - avif::HelpCommand::HelpCommand
  - avif::HelpCommand::Run
  - avif::PrintUsage
  - avif::HelpCommand::HelpCommand
  - avif::HelpCommand::Run
  - avif::PrintUsage
  - avif::HelpCommand::HelpCommand
  - avif::HelpCommand::Run
  - avif::PrintUsage
  - main
  source_file: /src/libavif/apps/avifgainmaputil/avifgainmaputil.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif::TonemapCommand::TonemapCommand
  - avif::TonemapCommand::Run
  - avif::TonemapCommand::TonemapCommand
  - avif::TonemapCommand::Run
  source_file: /src/libavif/apps/avifgainmaputil/tonemap_command.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/apps/avifgainmaputil/printmetadata_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/include/avif/avif.h
  types:
    enum:
    - enumerators:
      - name: AVIF_PLANES_YUV
        value: (1 << 0)
      - name: AVIF_PLANES_A
        value: (1 << 1)
      - name: AVIF_PLANES_ALL
        value: '0xff'
      item_type: enum
      name: avifPlanesFlag
      pos:
        line_end: 132
        line_start: 126
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CHAN_Y
        value: '0'
      - name: AVIF_CHAN_U
        value: '1'
      - name: AVIF_CHAN_V
        value: '2'
      - name: AVIF_CHAN_A
        value: '3'
      item_type: enum
      name: avifChannelIndex
      pos:
        line_end: 144
        line_start: 135
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_HEADER_DEFAULT
        value: '0x0'
      - name: AVIF_HEADER_FULL
        value: AVIF_HEADER_DEFAULT
      - name: AVIF_HEADER_EXTENDED_PIXI
        value: '0x2'
      - name: AVIF_HEADER_MINI
        value: '0x1'
      item_type: enum
      name: avifHeaderFormat
      pos:
        line_end: 231
        line_start: 211
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_PIXEL_FORMAT_NONE
        value: '0'
      - name: AVIF_PIXEL_FORMAT_YUV444
      - name: AVIF_PIXEL_FORMAT_YUV420
      - name: AVIF_PIXEL_FORMAT_YUV400
      - name: AVIF_PIXEL_FORMAT_YUV422
      - name: AVIF_PIXEL_FORMAT_COUNT
      item_type: enum
      name: avifPixelFormat
      pos:
        line_end: 288
        line_start: 278
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CHROMA_SAMPLE_POSITION_UNKNOWN
        value: '0'
      - name: AVIF_CHROMA_SAMPLE_POSITION_VERTICAL
        value: '1'
      - name: AVIF_CHROMA_SAMPLE_POSITION_RESERVED
        value: '3'
      - name: AVIF_CHROMA_SAMPLE_POSITION_COLOCATED
        value: '2'
      item_type: enum
      name: avifChromaSamplePosition
      pos:
        line_end: 315
        line_start: 309
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_RANGE_LIMITED
        value: '0'
      - name: AVIF_RANGE_FULL
        value: '1'
      item_type: enum
      name: avifRange
      pos:
        line_end: 329
        line_start: 320
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_TRANSFORM_NONE
        value: '0'
      - name: AVIF_TRANSFORM_CLAP
        value: (1 << 1)
      - name: AVIF_TRANSFORM_PASP
        value: (1 << 0)
      - name: AVIF_TRANSFORM_IROT
        value: (1 << 2)
      - name: AVIF_TRANSFORM_IMIR
        value: (1 << 3)
      item_type: enum
      name: avifTransformFlag
      pos:
        line_end: 472
        line_start: 464
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_SAMPLE_TRANSFORM_NONE
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_EXTENSION_12B_4B
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_EXTENSION_8B_8B
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_EXTENSION_12B_8B_OVERLAP_4B
      item_type: enum
      name: avifSampleTransformRecipe
      pos:
        line_end: 756
        line_start: 727
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_RGB_FORMAT_RGB
        value: '0'
      - name: AVIF_RGB_FORMAT_ARGB
      - name: AVIF_RGB_FORMAT_BGR
      - name: AVIF_RGB_FORMAT_BGRA
      - name: AVIF_RGB_FORMAT_RGBA
      - name: AVIF_RGB_FORMAT_ABGR
      - name: AVIF_RGB_FORMAT_RGB_565
      - name: AVIF_RGB_FORMAT_GRAY
      - name: AVIF_RGB_FORMAT_GRAYA
      - name: AVIF_RGB_FORMAT_AGRAY
      - name: AVIF_RGB_FORMAT_COUNT
      item_type: enum
      name: avifRGBFormat
      pos:
        line_end: 969
        line_start: 947
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CHROMA_UPSAMPLING_AUTOMATIC
        value: '0'
      - name: AVIF_CHROMA_UPSAMPLING_BEST_QUALITY
        value: '2'
      - name: AVIF_CHROMA_UPSAMPLING_FASTEST
        value: '1'
      - name: AVIF_CHROMA_UPSAMPLING_NEAREST
        value: '3'
      - name: AVIF_CHROMA_UPSAMPLING_BILINEAR
        value: '4'
      item_type: enum
      name: avifChromaUpsampling
      pos:
        line_end: 982
        line_start: 974
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CHROMA_DOWNSAMPLING_AUTOMATIC
        value: '0'
      - name: AVIF_CHROMA_DOWNSAMPLING_BEST_QUALITY
        value: '2'
      - name: AVIF_CHROMA_DOWNSAMPLING_AVERAGE
        value: '3'
      - name: AVIF_CHROMA_DOWNSAMPLING_FASTEST
        value: '1'
      - name: AVIF_CHROMA_DOWNSAMPLING_SHARP_YUV
        value: '4'
      item_type: enum
      name: avifChromaDownsampling
      pos:
        line_end: 991
        line_start: 984
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CODEC_CHOICE_AUTO
        value: '0'
      - name: AVIF_CODEC_CHOICE_DAV1D
      - name: AVIF_CODEC_CHOICE_AOM
      - name: AVIF_CODEC_CHOICE_RAV1E
      - name: AVIF_CODEC_CHOICE_LIBGAV1
      - name: AVIF_CODEC_CHOICE_SVT
      - name: AVIF_CODEC_CHOICE_AVM
      item_type: enum
      name: avifCodecChoice
      pos:
        line_end: 1059
        line_start: 1050
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_CODEC_FLAG_CAN_DECODE
        value: (1 << 0)
      - name: AVIF_CODEC_FLAG_CAN_ENCODE
        value: (1 << 1)
      item_type: enum
      name: avifCodecFlag
      pos:
        line_end: 1065
        line_start: 1061
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_STRICT_DISABLED
        value: '0'
      - name: AVIF_STRICT_PIXI_REQUIRED
        value: (1 << 0)
      - name: AVIF_STRICT_CLAP_VALID
        value: (1 << 1)
      - name: AVIF_STRICT_ENABLED
        value: AVIF_STRICT_PIXI_REQUIRED | AVIF_STRICT_CLAP_VALID | AVIF_STRICT_ALPHA_ISPE_REQUIRED
      - name: AVIF_STRICT_ALPHA_ISPE_REQUIRED
        value: (1 << 2)
      item_type: enum
      name: avifStrictFlag
      pos:
        line_end: 1164
        line_start: 1138
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_DECODER_SOURCE_AUTO
        value: '0'
      - name: AVIF_DECODER_SOURCE_TRACKS
      - name: AVIF_DECODER_SOURCE_PRIMARY_ITEM
      item_type: enum
      name: avifDecoderSource
      pos:
        line_end: 1195
        line_start: 1178
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_PROGRESSIVE_STATE_UNAVAILABLE
        value: '0'
      - name: AVIF_PROGRESSIVE_STATE_AVAILABLE
      - name: AVIF_PROGRESSIVE_STATE_ACTIVE
      item_type: enum
      name: avifProgressiveState
      pos:
        line_end: 1224
        line_start: 1207
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_IMAGE_CONTENT_NONE
        value: '0'
      - name: AVIF_IMAGE_CONTENT_ALL
        value: AVIF_IMAGE_CONTENT_COLOR_AND_ALPHA | AVIF_IMAGE_CONTENT_GAIN_MAP
      - name: AVIF_IMAGE_CONTENT_SAMPLE_TRANSFORMS
        value: (1 << 3)
      - name: AVIF_IMAGE_CONTENT_GAIN_MAP
        value: (1 << 2)
      - name: AVIF_IMAGE_CONTENT_COLOR_AND_ALPHA
        value: (1 << 0) | (1 << 1)
      - name: AVIF_IMAGE_CONTENT_DECODE_DEFAULT
        value: AVIF_IMAGE_CONTENT_COLOR_AND_ALPHA
      item_type: enum
      name: avifImageContentTypeFlag
      pos:
        line_end: 1242
        line_start: 1228
        source_file: /src/libavif/include/avif/avif.h
    - enumerators:
      - name: AVIF_ADD_IMAGE_FLAG_NONE
        value: '0'
      - name: AVIF_ADD_IMAGE_FLAG_FORCE_KEYFRAME
        value: (1 << 0)
      - name: AVIF_ADD_IMAGE_FLAG_SINGLE
        value: (1 << 1)
      item_type: enum
      name: avifAddImageFlag
      pos:
        line_end: 1643
        line_start: 1632
        source_file: /src/libavif/include/avif/avif.h
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_HELPER_EXPORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: AVIF_HELPER_IMPORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: AVIF_HELPER_EXPORT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: AVIF_API
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: AVIF_HELPER_EXPORT
    - item_type: preproc_def
      name: AVIF_API
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: AVIF_HELPER_IMPORT
    - item_type: preproc_def
      name: AVIF_NODISCARD
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '[[nodiscard]]'
    - item_type: preproc_def
      name: AVIF_NODISCARD
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: AVIF_VERSION_MAJOR
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AVIF_VERSION_MINOR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AVIF_VERSION_PATCH
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_VERSION_DEVEL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AVIF_VERSION
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: ((AVIF_VERSION_MAJOR * 1000000) + (AVIF_VERSION_MINOR * 10000)
        + (AVIF_VERSION_PATCH * 100) + AVIF_VERSION_DEVEL)
    - item_type: preproc_def
      name: AVIF_TRUE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AVIF_FALSE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_DIAGNOSTICS_ERROR_BUFFER_SIZE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '256'
    - item_type: preproc_def
      name: AVIF_DEFAULT_IMAGE_SIZE_LIMIT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: (16384 * 16384)
    - item_type: preproc_def
      name: AVIF_DEFAULT_IMAGE_DIMENSION_LIMIT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '32768'
    - item_type: preproc_def
      name: AVIF_DEFAULT_IMAGE_COUNT_LIMIT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: (12 * 3600 * 60)
    - item_type: preproc_def
      name: AVIF_QUALITY_DEFAULT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AVIF_QUALITY_WORST
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_QUALITY_BEST
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '100'
    - item_type: preproc_def
      name: AVIF_QUALITY_LOSSLESS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '100'
    - item_type: preproc_def
      name: AVIF_QUANTIZER_LOSSLESS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_QUANTIZER_BEST_QUALITY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_QUANTIZER_WORST_QUALITY
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '63'
    - item_type: preproc_def
      name: AVIF_PLANE_COUNT_YUV
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AVIF_SPEED_DEFAULT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AVIF_SPEED_SLOWEST
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_SPEED_FASTEST
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AVIF_REPETITION_COUNT_INFINITE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: AVIF_REPETITION_COUNT_UNKNOWN
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: AVIF_MAX_AV1_LAYER_COUNT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AVIF_DATA_EMPTY
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/libavif/include/avif/avif.h
      type_or_value: '{ NULL, 0 }'
    structs:
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: size_t
      item_type: struct
      name: avifROData
      pos:
        line_end: 241
        line_start: 237
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: size_t
      item_type: struct
      name: avifRWData
      pos:
        line_end: 249
        line_start: 245
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: monochrome
        type: avifBool
      - name: chromaShiftX
        type: int
      - name: chromaShiftY
        type: int
      item_type: struct
      name: avifPixelFormatInfo
      pos:
        line_end: 296
        line_start: 291
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: error[AVIF_DIAGNOSTICS_ERROR_BUFFER_SIZE]
        type: char
      item_type: struct
      name: avifDiagnostics
      pos:
        line_end: 429
        line_start: 418
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: n
        type: int32_t
      - name: d
        type: int32_t
      item_type: struct
      name: avifFraction
      pos:
        line_end: 440
        line_start: 436
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: n
        type: int32_t
      - name: d
        type: uint32_t
      item_type: struct
      name: avifSignedFraction
      pos:
        line_end: 446
        line_start: 442
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: n
        type: uint32_t
      - name: d
        type: uint32_t
      item_type: struct
      name: avifUnsignedFraction
      pos:
        line_end: 452
        line_start: 448
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: hSpacing
        type: uint32_t
      - name: vSpacing
        type: uint32_t
      item_type: struct
      name: avifPixelAspectRatioBox
      pos:
        line_end: 482
        line_start: 475
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: widthN
        type: uint32_t
      - name: widthD
        type: uint32_t
      - name: heightN
        type: uint32_t
      - name: heightD
        type: uint32_t
      - name: horizOffN
        type: uint32_t
      - name: horizOffD
        type: uint32_t
      - name: vertOffN
        type: uint32_t
      - name: vertOffD
        type: uint32_t
      item_type: struct
      name: avifCleanApertureBox
      pos:
        line_end: 516
        line_start: 491
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: angle
        type: uint8_t
      item_type: struct
      name: avifImageRotation
      pos:
        line_end: 524
        line_start: 518
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: axis
        type: uint8_t
      item_type: struct
      name: avifImageMirror
      pos:
        line_end: 541
        line_start: 526
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: x
        type: uint32_t
      - name: y
        type: uint32_t
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      item_type: struct
      name: avifCropRect
      pos:
        line_end: 552
        line_start: 546
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: maxCLL
        type: uint16_t
      - name: maxPALL
        type: uint16_t
      item_type: struct
      name: avifContentLightLevelInformationBox
      pos:
        line_end: 609
        line_start: 581
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: '* image'
        type: struct avifImage
      - name: gainMapMin[3]
        type: avifSignedFraction
      - name: gainMapMax[3]
        type: avifSignedFraction
      - name: gainMapGamma[3]
        type: avifUnsignedFraction
      - name: baseOffset[3]
        type: avifSignedFraction
      - name: alternateOffset[3]
        type: avifSignedFraction
      - name: baseHdrHeadroom
        type: avifUnsignedFraction
      - name: alternateHdrHeadroom
        type: avifUnsignedFraction
      - name: useBaseColorSpace
        type: avifBool
      - name: altICC
        type: avifRWData
      - name: altColorPrimaries
        type: avifColorPrimaries
      - name: altTransferCharacteristics
        type: avifTransferCharacteristics
      - name: altMatrixCoefficients
        type: avifMatrixCoefficients
      - name: altYUVRange
        type: avifRange
      - name: altDepth
        type: uint32_t
      - name: altPlaneCount
        type: uint32_t
      - name: altCLLI
        type: avifContentLightLevelInformationBox
      item_type: struct
      name: avifGainMap
      pos:
        line_end: 711
        line_start: 629
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: boxtype[4]
        type: uint8_t
      - name: usertype[16]
        type: uint8_t
      - name: boxPayload
        type: avifRWData
      item_type: struct
      name: avifImageItemProperty
      pos:
        line_end: 769
        line_start: 762
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: depth
        type: uint32_t
      - name: yuvFormat
        type: avifPixelFormat
      - name: yuvRange
        type: avifRange
      - name: yuvChromaSamplePosition
        type: avifChromaSamplePosition
      - name: '* yuvPlanes[AVIF_PLANE_COUNT_YUV]'
        type: uint8_t
      - name: yuvRowBytes[AVIF_PLANE_COUNT_YUV]
        type: uint32_t
      - name: imageOwnsYUVPlanes
        type: avifBool
      - name: '* alphaPlane'
        type: uint8_t
      - name: alphaRowBytes
        type: uint32_t
      - name: imageOwnsAlphaPlane
        type: avifBool
      - name: alphaPremultiplied
        type: avifBool
      - name: icc
        type: avifRWData
      - name: colorPrimaries
        type: avifColorPrimaries
      - name: transferCharacteristics
        type: avifTransferCharacteristics
      - name: matrixCoefficients
        type: avifMatrixCoefficients
      - name: clli
        type: avifContentLightLevelInformationBox
      - name: transformFlags
        type: avifTransformFlags
      - name: pasp
        type: avifPixelAspectRatioBox
      - name: clap
        type: avifCleanApertureBox
      - name: irot
        type: avifImageRotation
      - name: imir
        type: avifImageMirror
      - name: exif
        type: avifRWData
      - name: xmp
        type: avifRWData
      - name: '* properties'
        type: avifImageItemProperty
      - name: numProperties
        type: size_t
      - name: '* gainMap'
        type: avifGainMap
      item_type: struct
      name: avifImage
      pos:
        line_end: 850
        line_start: 776
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: depth
        type: uint32_t
      - name: format
        type: avifRGBFormat
      - name: chromaUpsampling
        type: avifChromaUpsampling
      - name: chromaDownsampling
        type: avifChromaDownsampling
      - name: avoidLibYUV
        type: avifBool
      - name: ignoreAlpha
        type: avifBool
      - name: alphaPremultiplied
        type: avifBool
      - name: isFloat
        type: avifBool
      - name: maxThreads
        type: int
      - name: '* pixels'
        type: uint8_t
      - name: rowBytes
        type: uint32_t
      item_type: struct
      name: avifRGBImage
      pos:
        line_end: 1017
        line_start: 995
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: destroy
        type: avifIODestroyFunc
      - name: read
        type: avifIOReadFunc
      - name: write
        type: avifIOWriteFunc
      - name: sizeHint
        type: uint64_t
      - name: persistent
        type: avifBool
      - name: '* data'
        type: void
      item_type: struct
      name: avifIO
      pos:
        line_end: 1123
        line_start: 1096
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: colorOBUSize
        type: size_t
      - name: alphaOBUSize
        type: size_t
      item_type: struct
      name: avifIOStats
      pos:
        line_end: 1174
        line_start: 1168
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: timescale
        type: uint64_t
      - name: pts
        type: double
      - name: ptsInTimescales
        type: uint64_t
      - name: duration
        type: double
      - name: durationInTimescales
        type: uint64_t
      item_type: struct
      name: avifImageTiming
      pos:
        line_end: 1205
        line_start: 1198
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: codecChoice
        type: avifCodecChoice
      - name: maxThreads
        type: int
      - name: requestedSource
        type: avifDecoderSource
      - name: allowProgressive
        type: avifBool
      - name: allowIncremental
        type: avifBool
      - name: ignoreExif
        type: avifBool
      - name: ignoreXMP
        type: avifBool
      - name: imageSizeLimit
        type: uint32_t
      - name: imageDimensionLimit
        type: uint32_t
      - name: imageCountLimit
        type: uint32_t
      - name: strictFlags
        type: avifStrictFlags
      - name: '* image'
        type: avifImage
      - name: imageIndex
        type: int
      - name: imageCount
        type: int
      - name: progressiveState
        type: avifProgressiveState
      - name: imageTiming
        type: avifImageTiming
      - name: timescale
        type: uint64_t
      - name: duration
        type: double
      - name: durationInTimescales
        type: uint64_t
      - name: repetitionCount
        type: int
      - name: alphaPresent
        type: avifBool
      - name: ioStats
        type: avifIOStats
      - name: diag
        type: avifDiagnostics
      - name: '* io'
        type: avifIO
      - name: '* data'
        type: struct avifDecoderData
      - name: imageSequenceTrackPresent
        type: avifBool
      - name: imageContentToDecode
        type: avifImageContentTypeFlags
      item_type: struct
      name: avifDecoder
      pos:
        line_end: 1386
        line_start: 1252
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: offset
        type: uint64_t
      - name: size
        type: size_t
      item_type: struct
      name: avifExtent
      pos:
        line_end: 1467
        line_start: 1463
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: horizontal
        type: avifFraction
      - name: vertical
        type: avifFraction
      item_type: struct
      name: avifScalingMode
      pos:
        line_end: 1496
        line_start: 1492
        source_file: /src/libavif/include/avif/avif.h
    - fields:
      - name: codecChoice
        type: avifCodecChoice
      - name: maxThreads
        type: int
      - name: speed
        type: int
      - name: keyframeInterval
        type: int
      - name: timescale
        type: uint64_t
      - name: repetitionCount
        type: int
      - name: extraLayerCount
        type: uint32_t
      - name: quality
        type: int
      - name: qualityAlpha
        type: int
      - name: minQuantizer
        type: int
      - name: maxQuantizer
        type: int
      - name: minQuantizerAlpha
        type: int
      - name: maxQuantizerAlpha
        type: int
      - name: tileRowsLog2
        type: int
      - name: tileColsLog2
        type: int
      - name: autoTiling
        type: avifBool
      - name: scalingMode
        type: avifScalingMode
      - name: ioStats
        type: avifIOStats
      - name: diag
        type: avifDiagnostics
      - name: '* data'
        type: struct avifEncoderData
      - name: '* csOptions'
        type: struct avifCodecSpecificOptions
      - name: headerFormat
        type: avifHeaderFormatFlags
      - name: qualityGainMap
        type: int
      - name: creationTime
        type: uint64_t
      - name: modificationTime
        type: uint64_t
      - name: sampleTransformRecipe
        type: avifSampleTransformRecipe
      item_type: struct
      name: avifEncoder
      pos:
        line_end: 1621
        line_start: 1507
        source_file: /src/libavif/include/avif/avif.h
    typedefs:
    - item_type: typedef
      name: avifBool
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/libavif/include/avif/avif.h
      type: int
    - item_type: typedef
      name: avifPlanesFlags
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    - item_type: typedef
      name: avifResult
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/libavif/include/avif/avif.h
      type: AVIF_NODISCARD
    - item_type: typedef
      name: avifHeaderFormatFlags
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/libavif/include/avif/avif.h
      type: int
    - item_type: typedef
      name: avifColorPrimaries
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/libavif/include/avif/avif.h
      type: uint16_t
    - item_type: typedef
      name: avifTransferCharacteristics
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/libavif/include/avif/avif.h
      type: uint16_t
    - item_type: typedef
      name: avifMatrixCoefficients
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/libavif/include/avif/avif.h
      type: uint16_t
    - item_type: typedef
      name: avifTransformFlags
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    - item_type: typedef
      name: avifCodecFlags
      pos:
        line_end: 1066
        line_start: 1066
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    - item_type: typedef
      name: (*avifIODestroyFunc)(struct avifIO * io)
      pos:
        line_end: 1080
        line_start: 1080
        source_file: /src/libavif/include/avif/avif.h
      type: void
    - item_type: typedef
      name: (*avifIOReadFunc)(struct avifIO * io, uint32_t readFlags, uint64_t offset,
        size_t size, avifROData * out)
      pos:
        line_end: 1092
        line_start: 1092
        source_file: /src/libavif/include/avif/avif.h
      type: avifResult
    - item_type: typedef
      name: (*avifIOWriteFunc)(struct avifIO * io, uint32_t writeFlags, uint64_t offset,
        const uint8_t * data, size_t size)
      pos:
        line_end: 1094
        line_start: 1094
        source_file: /src/libavif/include/avif/avif.h
      type: avifResult
    - item_type: typedef
      name: avifStrictFlags
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    - item_type: typedef
      name: avifImageContentTypeFlags
      pos:
        line_end: 1243
        line_start: 1243
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    - item_type: typedef
      name: avifAddImageFlags
      pos:
        line_end: 1644
        line_start: 1644
        source_file: /src/libavif/include/avif/avif.h
      type: uint32_t
    union: []
- function_names:
  - AVIF_CLAMP
  - AVIF_MIN
  - AVIF_MAX
  - avifBreakOnError
  - AVIF_CHECK
  - AVIF_CHECKERR
  - AVIF_CHECKRES
  - AVIF_ASSERT_OR_RETURN
  - AVIF_ASSERT_OR_RETURN
  - AVIF_ARRAY_DECLARE
  source_file: /src/libavif/include/avif/internal.h
  types:
    enum:
    - enumerators:
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_8
        value: '0'
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_16
        value: '1'
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_64
        value: '3'
      - name: AVIF_SAMPLE_TRANSFORM_BIT_DEPTH_32
        value: '2'
      item_type: enum
      name: avifSampleTransformBitDepth
      pos:
        line_end: 178
        line_start: 172
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_SAMPLE_TRANSFORM_LAST_INPUT_IMAGE_ITEM_INDEX
        value: '32'
      - name: AVIF_SAMPLE_TRANSFORM_NOT
        value: '66'
      - name: AVIF_SAMPLE_TRANSFORM_DIFFERENCE
        value: '129'
      - name: AVIF_SAMPLE_TRANSFORM_RESERVED
        value: '138'
      - name: AVIF_SAMPLE_TRANSFORM_FIRST_INPUT_IMAGE_ITEM_INDEX
        value: '1'
      - name: AVIF_SAMPLE_TRANSFORM_INPUT_IMAGE_ITEM_INDEX
        value: '1'
      - name: AVIF_SAMPLE_TRANSFORM_POW
        value: '135'
      - name: AVIF_SAMPLE_TRANSFORM_AND
        value: '132'
      - name: AVIF_SAMPLE_TRANSFORM_QUOTIENT
        value: '131'
      - name: AVIF_SAMPLE_TRANSFORM_FIRST_BINARY_OPERATOR
        value: '128'
      - name: AVIF_SAMPLE_TRANSFORM_XOR
        value: '134'
      - name: AVIF_SAMPLE_TRANSFORM_OR
        value: '133'
      - name: AVIF_SAMPLE_TRANSFORM_MIN
        value: '136'
      - name: AVIF_SAMPLE_TRANSFORM_MAX
        value: '137'
      - name: AVIF_SAMPLE_TRANSFORM_CONSTANT
        value: '0'
      - name: AVIF_SAMPLE_TRANSFORM_NEGATION
        value: '64'
      - name: AVIF_SAMPLE_TRANSFORM_BSR
        value: '67'
      - name: AVIF_SAMPLE_TRANSFORM_LAST_BINARY_OPERATOR
        value: '137'
      - name: AVIF_SAMPLE_TRANSFORM_FIRST_UNARY_OPERATOR
        value: '64'
      - name: AVIF_SAMPLE_TRANSFORM_ABSOLUTE
        value: '65'
      - name: AVIF_SAMPLE_TRANSFORM_LAST_UNARY_OPERATOR
        value: '67'
      - name: AVIF_SAMPLE_TRANSFORM_PRODUCT
        value: '130'
      - name: AVIF_SAMPLE_TRANSFORM_SUM
        value: '128'
      item_type: enum
      name: avifSampleTransformTokenType
      pos:
        line_end: 212
        line_start: 181
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_REFORMAT_MODE_YUV_COEFFICIENTS
        value: '0'
      - name: AVIF_REFORMAT_MODE_YCGCO
      - name: AVIF_REFORMAT_MODE_YCGCO_RO
      - name: AVIF_REFORMAT_MODE_IDENTITY
      - name: AVIF_REFORMAT_MODE_YCGCO_RE
      item_type: enum
      name: avifReformatMode
      pos:
        line_end: 280
        line_start: 273
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_ALPHA_MULTIPLY_MODE_NO_OP
        value: '0'
      - name: AVIF_ALPHA_MULTIPLY_MODE_UNMULTIPLY
      - name: AVIF_ALPHA_MULTIPLY_MODE_MULTIPLY
      item_type: enum
      name: avifAlphaMultiplyMode
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_ITEM_COLOR
      - name: AVIF_ITEM_SAMPLE_TRANSFORM
      - name: AVIF_ITEM_ALPHA
      - name: AVIF_ITEM_GAIN_MAP
      - name: AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_COLOR
      - name: AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_1_COLOR
      - name: AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_ALPHA
      - name: AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_1_ALPHA
      - name: AVIF_ITEM_CATEGORY_COUNT
      item_type: enum
      name: avifItemCategory
      pos:
        line_end: 417
        line_start: 405
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_CODEC_TYPE_UNKNOWN
      - name: AVIF_CODEC_TYPE_AV2
      - name: AVIF_CODEC_TYPE_AV1
      item_type: enum
      name: avifCodecType
      pos:
        line_end: 533
        line_start: 526
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_ENCODER_CHANGE_MIN_QUANTIZER
        value: (1 << 0)
      - name: AVIF_ENCODER_CHANGE_MAX_QUANTIZER
        value: (1 << 1)
      - name: AVIF_ENCODER_CHANGE_MIN_QUANTIZER_ALPHA
        value: (1 << 2)
      - name: AVIF_ENCODER_CHANGE_TILE_ROWS_LOG2
        value: (1 << 4)
      - name: AVIF_ENCODER_CHANGE_MAX_QUANTIZER_ALPHA
        value: (1 << 3)
      - name: AVIF_ENCODER_CHANGE_TILE_COLS_LOG2
        value: (1 << 5)
      - name: AVIF_ENCODER_CHANGE_QUALITY
        value: (1 << 6)
      - name: AVIF_ENCODER_CHANGE_QUALITY_ALPHA
        value: (1 << 7)
      - name: AVIF_ENCODER_CHANGE_SCALING_MODE
        value: (1 << 8)
      - name: AVIF_ENCODER_CHANGE_CODEC_SPECIFIC
        value: (1 << 30)
      item_type: enum
      name: avifEncoderChange
      pos:
        line_end: 557
        line_start: 544
        source_file: /src/libavif/include/avif/internal.h
    - enumerators:
      - name: AVIF_PIXI_444
        value: '0'
      - name: AVIF_PIXI_440
        value: '4'
      - name: AVIF_PIXI_411
        value: '3'
      - name: AVIF_PIXI_420
        value: '2'
      - name: AVIF_PIXI_422
        value: '1'
      - name: AVIF_PIXI_SUBSAMPLING_RESERVED
        value: '5'
      item_type: enum
      name: avifPixiSubsamplingType
      pos:
        line_end: 798
        line_start: 790
        source_file: /src/libavif/include/avif/internal.h
    preproc_defs:
    - item_type: preproc_def
      name: AVIF_ASSERT_NOT_REACHED_OR_RETURN
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: "do {                                   \\\n        avifBreakOnError();
        \               \\\n        return AVIF_RESULT_INTERNAL_ERROR; \\\n    } while
        (0)"
    - item_type: preproc_def
      name: AVIF_ASSERT_NOT_REACHED_OR_RETURN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: assert(0);
    - item_type: preproc_def
      name: AVIF_URN_ALPHA0
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: '"urn:mpeg:mpegB:cicp:systems:auxiliary:alpha"'
    - item_type: preproc_def
      name: AVIF_URN_ALPHA1
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: '"urn:mpeg:hevc:2015:auxid:1"'
    - item_type: preproc_def
      name: AVIF_CONTENT_TYPE_XMP
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: '"application/rdf+xml"'
    - item_type: preproc_def
      name: AVIF_SAMPLE_TRANSFORM_MAX_NUM_EXTRA_INPUT_IMAGE_ITEMS
      pos:
        line_end: 424
        line_start: 422
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: (AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_ALPHA - AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_COLOR)
    - item_type: preproc_def
      name: AVIF_SAMPLE_TRANSFORM_MAX_NUM_EXTRA_INPUT_IMAGE_ITEMS
      pos:
        line_end: 426
        line_start: 424
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: )
    - item_type: preproc_def
      name: AVIF_SAMPLE_TRANSFORM_MIN_CATEGORY
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_COLOR
    - item_type: preproc_def
      name: AVIF_SAMPLE_TRANSFORM_MAX_CATEGORY
      pos:
        line_end: 430
        line_start: 428
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: (AVIF_ITEM_SAMPLE_TRANSFORM_INPUT_0_ALPHA + AVIF_SAMPLE_TRANSFORM_MAX_NUM_EXTRA_INPUT_IMAGE_ITEMS
        - 1)
    - item_type: preproc_def
      name: AVIF_SPATIAL_ID_UNSET
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: AVIF_BOX_SIZE_TBD
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AVIF_INDEFINITE_DURATION64
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: UINT64_MAX
    - item_type: preproc_def
      name: AVIF_INDEFINITE_DURATION32
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/libavif/include/avif/internal.h
      type_or_value: UINT32_MAX
    structs:
    - fields:
      - name: type
        type: avifSampleTransformTokenType
      - name: constant
        type: int32_t
      - name: inputImageItemIndex
        type: uint8_t
      item_type: struct
      name: avifSampleTransformToken
      pos:
        line_end: 220
        line_start: 214
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: width
        type: uint32_t
      - name: height
        type: uint32_t
      - name: srcDepth
        type: uint32_t
      - name: '* srcPlane'
        type: uint8_t
      - name: srcRowBytes
        type: uint32_t
      - name: srcOffsetBytes
        type: uint32_t
      - name: srcPixelBytes
        type: uint32_t
      - name: dstDepth
        type: uint32_t
      - name: '* dstPlane'
        type: uint8_t
      - name: dstRowBytes
        type: uint32_t
      - name: dstOffsetBytes
        type: uint32_t
      - name: dstPixelBytes
        type: uint32_t
      item_type: struct
      name: avifAlphaParams
      pos:
        line_end: 268
        line_start: 251
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: channelBytes
        type: uint32_t
      - name: pixelBytes
        type: uint32_t
      - name: offsetBytesR
        type: uint32_t
      - name: offsetBytesG
        type: uint32_t
      - name: offsetBytesB
        type: uint32_t
      - name: offsetBytesA
        type: uint32_t
      - name: offsetBytesGray
        type: uint32_t
      - name: maxChannel
        type: int
      - name: maxChannelF
        type: float
      item_type: struct
      name: avifRGBColorSpaceInfo
      pos:
        line_end: 302
        line_start: 290
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: kr
        type: float
      - name: kg
        type: float
      - name: kb
        type: float
      - name: channelBytes
        type: uint32_t
      - name: depth
        type: uint32_t
      - name: range
        type: avifRange
      - name: maxChannel
        type: int
      - name: biasY
        type: float
      - name: biasUV
        type: float
      - name: rangeY
        type: float
      - name: rangeUV
        type: float
      - name: formatInfo
        type: avifPixelFormatInfo
      - name: mode
        type: avifReformatMode
      item_type: struct
      name: avifYUVColorSpaceInfo
      pos:
        line_end: 325
        line_start: 307
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: rgb
        type: avifRGBColorSpaceInfo
      - name: yuv
        type: avifYUVColorSpaceInfo
      item_type: struct
      name: avifReformatState
      pos:
        line_end: 333
        line_start: 329
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: data
        type: avifROData
      - name: ownsData
        type: avifBool
      - name: partialData
        type: avifBool
      - name: itemID
        type: uint32_t
      - name: offset
        type: uint64_t
      - name: size
        type: size_t
      - name: spatialID
        type: uint8_t
      - name: sync
        type: avifBool
      item_type: struct
      name: avifDecodeSample
      pos:
        line_end: 474
        line_start: 462
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: samples
        type: avifDecodeSampleArray
      - name: allLayers
        type: avifBool
      - name: itemCategory
        type: avifItemCategory
      item_type: struct
      name: avifCodecDecodeInput
      pos:
        line_end: 482
        line_start: 477
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: data
        type: avifRWData
      - name: sync
        type: avifBool
      item_type: struct
      name: avifEncodeSample
      pos:
        line_end: 494
        line_start: 490
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: samples
        type: avifEncodeSampleArray
      item_type: struct
      name: avifCodecEncodeOutput
      pos:
        line_end: 500
        line_start: 497
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: '* key'
        type: char
      - name: '* value'
        type: char
      item_type: struct
      name: avifCodecSpecificOption
      pos:
        line_end: 513
        line_start: 509
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: '* csOptions'
        type: avifCodecSpecificOptions
      - name: '* internal'
        type: struct avifCodecInternal
      - name: '* diag'
        type: avifDiagnostics
      - name: maxThreads
        type: int
      - name: imageSizeLimit
        type: uint32_t
      - name: imageDimensionLimit
        type: uint32_t
      - name: operatingPoint
        type: uint8_t
      - name: allLayers
        type: avifBool
      - name: getNextImage
        type: avifCodecGetNextImageFunc
      - name: encodeImage
        type: avifCodecEncodeImageFunc
      - name: encodeFinish
        type: avifCodecEncodeFinishFunc
      - name: destroyInternal
        type: avifCodecDestroyInternalFunc
      item_type: struct
      name: avifCodec
      pos:
        line_end: 615
        line_start: 597
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: isSizeZeroBox
        type: avifBool
      - name: size
        type: size_t
      - name: type[4]
        type: uint8_t
      - name: usertype[16]
        type: uint8_t
      item_type: struct
      name: avifBoxHeader
      pos:
        line_end: 664
        line_start: 652
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: '* raw'
        type: avifROData
      - name: offset
        type: size_t
      - name: numUsedBitsInPartialByte
        type: size_t
      - name: '* diag'
        type: avifDiagnostics
      - name: '* diagContext'
        type: char
      item_type: struct
      name: avifROStream
      pos:
        line_end: 681
        line_start: 666
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: '* raw'
        type: avifRWData
      - name: offset
        type: size_t
      - name: numUsedBitsInPartialByte
        type: size_t
      item_type: struct
      name: avifRWStream
      pos:
        line_end: 722
        line_start: 711
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: seqProfile
        type: uint8_t
      - name: seqLevelIdx0
        type: uint8_t
      - name: seqTier0
        type: uint8_t
      - name: highBitdepth
        type: uint8_t
      - name: twelveBit
        type: uint8_t
      - name: monochrome
        type: uint8_t
      - name: chromaSubsamplingX
        type: uint8_t
      - name: chromaSubsamplingY
        type: uint8_t
      - name: chromaSamplePosition
        type: uint8_t
      item_type: struct
      name: avifCodecConfigurationBox
      pos:
        line_end: 769
        line_start: 747
        source_file: /src/libavif/include/avif/internal.h
    - fields:
      - name: reduced_still_picture_header
        type: uint8_t
      - name: maxWidth
        type: uint32_t
      - name: maxHeight
        type: uint32_t
      - name: bitDepth
        type: uint32_t
      - name: yuvFormat
        type: avifPixelFormat
      - name: chromaSamplePosition
        type: avifChromaSamplePosition
      - name: colorPrimaries
        type: avifColorPrimaries
      - name: transferCharacteristics
        type: avifTransferCharacteristics
      - name: matrixCoefficients
        type: avifMatrixCoefficients
      - name: range
        type: avifRange
      - name: av1C
        type: avifCodecConfigurationBox
      item_type: struct
      name: avifSequenceHeader
      pos:
        line_end: 784
        line_start: 771
        source_file: /src/libavif/include/avif/internal.h
    typedefs:
    - item_type: typedef
      name: (*avifTransferFunction)(float)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/libavif/include/avif/internal.h
      type: float
    - item_type: typedef
      name: avifEncoderChanges
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/libavif/include/avif/internal.h
      type: int
    - item_type: typedef
      name: "(*avifCodecGetNextImageFunc)(struct avifCodec * codec,\n                                              const
        avifDecodeSample * sample,\n                                              avifBool
        alpha,\n                                              avifBool * isLimitedRangeAlpha,\n
        \                                             avifImage * image)"
      pos:
        line_end: 564
        line_start: 560
        source_file: /src/libavif/include/avif/internal.h
      type: avifBool
    - item_type: typedef
      name: "(*avifCodecEncodeImageFunc)(struct avifCodec * codec,\n                                               avifEncoder
        * encoder,\n                                               const avifImage
        * image,\n                                               avifBool alpha,\n
        \                                              int tileRowsLog2,\n                                               int
        tileColsLog2,\n                                               int quality,\n
        \                                              avifEncoderChanges encoderChanges,\n
        \                                              avifBool disableLaggedOutput,\n
        \                                              avifAddImageFlags addImageFlags,\n
        \                                              avifCodecEncodeOutput * output)"
      pos:
        line_end: 593
        line_start: 583
        source_file: /src/libavif/include/avif/internal.h
      type: avifResult
    - item_type: typedef
      name: (*avifCodecEncodeFinishFunc)(struct avifCodec * codec, avifCodecEncodeOutput
        * output)
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/libavif/include/avif/internal.h
      type: avifBool
    - item_type: typedef
      name: (*avifCodecDestroyInternalFunc)(struct avifCodec * codec)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/libavif/include/avif/internal.h
      type: void
    - item_type: typedef
      name: avifBoxMarker
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/libavif/include/avif/internal.h
      type: size_t
    union: []
- function_names:
  - operator()(avifDecoder * decoder) const
  - operator()(avifEncoder * encoder) const
  - operator()(avifGainMap * gainMap) const
  - operator()(avifImage * image) const
  - avif::RGBImageCleanup::RGBImageCleanup
  - ~RGBImageCleanup()
  - operator()(avifDecoder * decoder) const
  - operator()(avifEncoder * encoder) const
  - operator()(avifGainMap * gainMap) const
  - operator()(avifImage * image) const
  - avif::RGBImageCleanup::RGBImageCleanup
  - ~RGBImageCleanup()
  source_file: /src/libavif/include/avif/avif_cxx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UniquePtrDeleter
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/libavif/include/avif/avif_cxx.h
    - fields: []
      item_type: struct
      name: UniquePtrDeleter
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/libavif/include/avif/avif_cxx.h
    typedefs: []
    union: []
- function_names:
  - avifIOStreamingReaderRead
  - avifIOStreamingReaderDestroy
  - avifIOCreateStreamingReader
  - main
  source_file: /src/libavif/examples/avif_example_decode_streaming.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: io
        type: avifIO
      - name: rodata
        type: avifROData
      - name: downloadedBytes
        type: size_t
      item_type: struct
      name: avifIOStreamingReader
      pos:
        line_end: 42
        line_start: 32
        source_file: /src/libavif/examples/avif_example_decode_streaming.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libavif/examples/avif_example_decode_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libavif/examples/avif_example_decode_memory.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libavif/examples/avif_example_encode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - avif_context_free
  - avif_context_try_load
  - begin_load
  - stop_load
  - load_increment
  - avif_is_save_option_supported
  - avif_image_saver
  - fill_vtable
  - fill_info
  source_file: /src/libavif/contrib/gdk-pixbuf/loader.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pixbuf'
        type: GdkPixbuf
      - name: size_func
        type: GdkPixbufModuleSizeFunc
      - name: updated_func
        type: GdkPixbufModuleUpdatedFunc
      - name: prepared_func
        type: GdkPixbufModulePreparedFunc
      - name: user_data
        type: gpointer
      - name: '*decoder'
        type: avifDecoder
      - name: '*data'
        type: GByteArray
      - name: '*bytes'
        type: GBytes
      item_type: struct
      name: avif_context
      pos:
        line_end: 27
        line_start: 15
        source_file: /src/libavif/contrib/gdk-pixbuf/loader.c
    typedefs: []
    union: []
- function_names:
  - Abs
  - CENTERSTART
  - MIN1
  - SumPixels
  - SumPixels_16
  - ScaleAddCols2_C
  - ScaleAddCols2_16_C
  - ScaleAddCols0_C
  - ScaleAddCols1_C
  - ScaleAddCols1_16_C
  - ScalePlaneBox
  - ScalePlaneBox_16
  - ScalePlaneBilinearDown
  - ScalePlaneBilinearDown_16
  - ScalePlaneBilinearUp
  - ScalePlaneUp2_Linear
  - ScalePlaneUp2_Bilinear
  - ScalePlaneUp2_12_Linear
  - ScalePlaneUp2_12_Bilinear
  - ScalePlaneUp2_16_Linear
  - ScalePlaneUp2_16_Bilinear
  - ScalePlaneBilinearUp_16
  - ScalePlaneSimple
  - ScalePlaneSimple_16
  - ScalePlane
  - ScalePlane_16
  - ScalePlane_12
  source_file: /src/libavif/third_party/libyuv/source/scale.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STATIC_CAST
  - CopyRow_C
  - HalfRow_C
  - HalfRow_16_C
  - InterpolateRow_C
  - InterpolateRow_16_C
  source_file: /src/libavif/third_party/libyuv/source/row_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SUH2LANY
  source_file: /src/libavif/third_party/libyuv/source/scale_any.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Abs
  - ScaleRowUp2_Linear_C
  - ScaleRowUp2_Bilinear_C
  - ScaleRowUp2_Linear_16_C
  - ScaleRowUp2_Bilinear_16_C
  - ScaleCols_C
  - ScaleCols_16_C
  - ScaleColsUp2_C
  - ScaleColsUp2_16_C
  - BLENDER
  - BLENDER
  - ScaleFilterCols_C
  - ScaleFilterCols64_C
  - BLENDER
  - ScaleFilterCols_16_C
  - ScaleFilterCols64_16_C
  - ScaleAddRow_C
  - ScaleAddRow_16_C
  - ScalePlaneVertical
  - ScalePlaneVertical_16
  - ScaleFilterReduce
  - FixedDiv_C
  - FixedDiv1_C
  - CENTERSTART
  - ScaleSlope
  source_file: /src/libavif/third_party/libyuv/source/scale_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CopyPlane
  - CopyPlane_16
  source_file: /src/libavif/third_party/libyuv/source/planar_functions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv/version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBYUV_VERSION
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libavif/third_party/libyuv/include/libyuv/version.h
      type_or_value: '1880'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv/scale.h
  types:
    enum:
    - enumerators:
      - name: kFilterNone
        value: '0'
      - name: kFilterBilinear
        value: '2'
      - name: kFilterLinear
        value: '1'
      - name: kFilterBox
        value: '3'
      item_type: enum
      name: FilterMode
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/libavif/third_party/libyuv/include/libyuv/scale.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv/scale_row.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FixedDiv
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libavif/third_party/libyuv/include/libyuv/scale_row.h
      type_or_value: FixedDiv_C
    - item_type: preproc_def
      name: FixedDiv1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libavif/third_party/libyuv/include/libyuv/scale_row.h
      type_or_value: FixedDiv1_C
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv/planar_functions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBYUV_API
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: LIBYUV_API
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: LIBYUV_API
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: LIBYUV_BOOL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: int
    - item_type: preproc_def
      name: LIBYUV_FALSE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIBYUV_TRUE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: unsigned __int64
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: __int64
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: unsigned int
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: int
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: unsigned short
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: short
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: unsigned char
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: signed char
    - item_type: typedef
      name: uint64
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: uint64_t
    - item_type: typedef
      name: int64
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: int64_t
    - item_type: typedef
      name: uint32
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: uint32_t
    - item_type: typedef
      name: int32
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: int32_t
    - item_type: typedef
      name: uint16
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: uint16_t
    - item_type: typedef
      name: int16
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: int16_t
    - item_type: typedef
      name: uint8
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: uint8_t
    - item_type: typedef
      name: int8
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/libavif/third_party/libyuv/include/libyuv/basic_types.h
      type: int8_t
    union: []
- function_names:
  - align_buffer_64
  - free_aligned_buffer_64
  source_file: /src/libavif/third_party/libyuv/include/libyuv/row.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libavif/third_party/iccjpeg/iccjpeg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_icc_profile
  - setup_read_icc_profile
  - marker_is_icc
  - read_icc_profile
  source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ICC_MARKER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
      type_or_value: "(JPEG_APP0 + 2)\t"
    - item_type: preproc_def
      name: ICC_OVERHEAD_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
      type_or_value: "14\t\t"
    - item_type: preproc_def
      name: MAX_BYTES_IN_MARKER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
      type_or_value: "65533\t"
    - item_type: preproc_def
      name: MAX_DATA_BYTES_IN_MARKER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
      type_or_value: (MAX_BYTES_IN_MARKER - ICC_OVERHEAD_LEN)
    - item_type: preproc_def
      name: MAX_SEQ_NO
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libavif/third_party/iccjpeg/iccjpeg.c
      type_or_value: "255\t\t"
    structs: []
    typedefs: []
    union: []
